仅当图片框上有图片时才启用该按钮
本文关键字:启用 按钮 有图片 | 更新日期: 2023-09-27 17:57:46
只有当windows窗体上的picturebox上有图片时,我才想启用该按钮。否则,该按钮将保持为false。
我已经尝试过下面的代码,但当图片框包含图片时,按钮根本不会启用(默认情况下启用的按钮为true)
if (pictureBox1 == null || pictureBox1.Image == null)
{
this.button2.Enabled = false;
}
else if (pictureBox1 != null || pictureBox1.Image != null)
{
this.button2.Enabled = true;
}
if (pictureBox1 == null || pictureBox1.BackgroundImage == null)
{
this.button2.Enabled = false;
}
else
{
this.button2.Enabled = true;
}
非常感谢您的回答!
如果在表单的Load
事件上执行该代码,并且此时PictureBox
为空,则Button
将被禁用。如果稍后加载Image
,则必须再次执行该代码。加载Image
时不会引发任何事件,因此您只需为此编写一个方法:
private void SetPictureBoxImage(Image img)
{
this.pictureBox1.Image = img;
this.SetButtonEnabledState();
}
private void SetButtonEnabledState()
{
this.button2.Enabled = (this.pictureBox1.Image != null);
}
每当您想要设置或清除Image
时,请调用第一个方法。如果在设计器中设置Image
,则也可以在表单的Load
事件上调用第二个方法,这将绕过SetPictureBoxImage
方法。