pictureboxの画像を削除するには?
Visual C# 2008を使用しています。
ボタンを押すとpictureboxに画像が表示されるプログラムを作成しました。
今度は、その表示された画像をクリックし、別のボタンを押すことでその画像が削除できるようにしたいと思っているのですが、うまくプログラムできません。
誰か教えていただけないでしょうか?
ソースコードは以下のようになっています。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace algorithm
{
public partial class Form1 : Form
{
int space = 10;
public Form1()
{
InitializeComponent();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void kihonsyori_Click(object sender, EventArgs e)
{
if (this.pictureBox1.Image == null)
{
Bitmap img = new Bitmap(@"C:\Documents and Settings\admin\My Documents\Visual Studio 2008\Projects\algorithm\algorithm\picture\基本処理箱.png");
Graphics g = pictureBox1.CreateGraphics();
g.DrawImage(img, 0, space, 0.4F * img.Width, 0.3F * img.Height);
space += 50;
img.Dispose();
g.Dispose();
}
else
{
this.pictureBox1.Image.Dispose();
this.pictureBox1.Image = null;
}
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void hanpuku_Click(object sender, EventArgs e)
{
if (this.pictureBox1.Image == null)
{
Bitmap img = new Bitmap(@"C:\Documents and Settings\admin\My Documents\Visual Studio 2008\Projects\algorithm\algorithm\picture\反復箱.png");
Graphics g = pictureBox1.CreateGraphics();
g.DrawImage(img, 0, space, 0.4F * img.Width, 0.3F * img.Height);
space += 80;
img.Dispose();
g.Dispose();
}
else
{
this.pictureBox1.Image.Dispose();
this.pictureBox1.Image = null;
}
}
private void sentaku_Click(object sender, EventArgs e)
{
if (this.pictureBox1.Image == null)
{
Bitmap img = new Bitmap(@"C:\Documents and Settings\admin\My Documents\Visual Studio 2008\Projects\algorithm\algorithm\picture\選択箱.png");
Graphics g = pictureBox1.CreateGraphics();
g.DrawImage(img, 0, space, 0.4F * img.Width, 0.3F * img.Height);
space += 80;
img.Dispose();
g.Dispose();
}
else
{
this.pictureBox1.Image.Dispose();
this.pictureBox1.Image = null;
}
}
private void sakujyo_Click(object sender, EventArgs e)
{
pictureBox1.Image = null;
space = 0;
}
}
}
お礼
ご回答ありがとうございます。 おっしゃられた通り、イベントハンドラを登録したらうまくできました。 ありがとうございました♪