我创建了一个带有文本框的表单,供用户输入密码,如果密码为“hello”,它将显示pictureBox。我将pictureBox可见性设置为false。我不知道如何做到这一点,并且几乎到处都没有运气(是的,我是初学者)。
public partial class Form2 : Form
{
string secretPassword = "hello";
public event EventHandler VisibleChanged;
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == secretPassword)
{
pictureBox1.VisibleChanged+= new EventHandler(this.PictureBox1_VisibleChanged) ;
}
}
答案 0 :(得分:0)
您似乎正在设置事件处理程序而不是修改属性。
pictureBox1.VisibleChanged+= new EventHandler(this.PictureBox1_VisibleChanged) ;
行只添加了一个新的事件处理程序(这对它没什么帮助)。
应该是:
pictureBox1.Visible = true;
pictureBox1.Refresh();
调用Refresh()
方法会强制图片框更新并显示在按钮上。
This question goes into detail about threads and how they relate to UI component visibility.