で画像を切り替えるにはPictureBox
、1ピクセルのビットマップを作成し、画像を非表示にするときに画像ボックスに割り当ててから、画像を再度割り当てます。あなたの質問の2番目の部分が何を求めているのか少しわかりません。何らかの条件に基づいてペイントイベントで除外しない限り、ピクチャーボックスのペイントイベントの描画は残ります。ボックスに線を引きたい場合は、ボタンからオン/オフを切り替えます。2番目の例を参照してください。
すなわち
public partial class Form1 : Form
{
Bitmap nullBitmap = new Bitmap(1, 1); // create a 1 pixel bitmap
Bitmap myImage = new Bitmap("Load your Image Here"); // Load your image
bool showImage; // boolean variable so we know what image is assigned
public Form1()
{
InitializeComponent();
pictureBox1.Image = myImage;
showImage = true;
}
private void button1_Click(object sender, EventArgs e)
{
if (showImage)
{
pictureBox1.Image = nullBitmap;
showImage = false;
}
else
{
pictureBox1.Image = myImage;
showImage = true;
}
}
}
2番目の例
public partial class Form1 : Form
{
bool showLines;
public Form1()
{
InitializeComponent();
showLines = true;
}
private void button1_Click(object sender, EventArgs e)
{
if (showLines)
{
showLines = false;
pictureBox1.Invalidate();
}
else
{
showLines = true;
pictureBox1.Invalidate();
}
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
if(showLines)
e.Graphics.DrawLine(Pens.Purple, 0, 0, 100, 100);
}
}