2016-10-19 6 views
-1

Я сделал форму с текстовым полем для ввода пароля пользователем, и если пароль «привет», он откроет pictureBox. У меня есть видимость pictureBox, равная false. Я понятия не имею, как это сделать, и посмотрел почти везде, не повезло (да, я новичок).C# как показать картинку после ввода пароля

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

просто установите 'Visible' свойство – Plutonix

+0

Вы должны назвать элементы управления. – SLaks

+0

вы подписываетесь на событие, которое срабатывает после изменений видимости, что здесь не помогает. Вы просто хотите установить 'pictureBox1.Visiblity = true' (или' Visibility.Visible', я забываю, что) – Jonesopolis

ответ

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.