2015-07-27 4 views
0

У меня есть кнопка, которая динамически создается на C#. Теперь я хочу, чтобы эта кнопка скрывалась при нажатии. Как мне это сделать?Как скрыть динамически созданную кнопку?

Я попытался это, но он не работает:

if (hide_button.Click == true) 
       { 
        hide_button.Visibility = Visibility.Hidden; 
       } 
+2

'не работает' это очень плохой способ описать проблему - что происходит? Исключения? Неожиданное поведение? Взрывы? – goobering

+1

Где вы это делаете? 'hide_button.Click == true' не имеет смысла ...' Click' - это событие, а не логическое свойство. Вы должны подписаться на него и управлять «Видимостью» в обработчике. – almulo

+0

@goobering, «Не работает», он, очевидно, означает, что кнопка не скрыта, как он ожидает. По крайней мере, я получил это сообщение. –

ответ

1

Я не уверен, что ниже линии работает для вас.

if (hide_button.Click==true) 

попробуйте удалить эту строку, и она будет работать. поскольку событие не равно отношению к логическому значению.

Этот код работает для меня

Button buton = new Button(); 
    public MainWindow() 
    { 
     InitializeComponent();    
     buton.Click += Buton_Click; 
     grid.Children.Add(buton); 
    } 

    private void Buton_Click(object sender, RoutedEventArgs e) 
    { 
     buton.Visibility = Visibility.Hidden; 
    } 
0
button.Click += (sender,e) => 
    { 
     if (button.Visibility == Visibility.Visible) 
      button.Visibility = Visibility.Collapsed; 
     else 
      button.Visibility = Visibility.Visible; 
    }; 

или

button.Click += new EventHandler(button_Click); 

private void button_Click(object sender, EventArgs e) 
{ 
    if (button.Visibility == Visibility.Visible) 
     button.Visibility = Visibility.Collapsed; 
    else 
     button.Visibility = Visibility.Visible; 
} 
+0

button.Visible =! Button.Visible; эта строка компилируется? –

+1

lol um no он должен быть либо Visibility.Hidden или .Collapsed –

+0

'Visible' - свойство WinForms, в WPF вы используете либо' IsVisible' (который доступен только для чтения), либо 'Visibility' (который является перечислением, а не boolean) ... Кроме этого, этот ответ совершенно справедлив – almulo

Смежные вопросы