2013-11-02 2 views
0

Я работаю на VB.NETНевозможно сделать кнопку видимого свойства истинного

У меня есть форма, созданная с (среди прочего) панель и некоторые кнопки в нем.

Значение свойства видимого по умолчанию true для кнопок. Однако, когда я запускаю форму, они невидимы.

Я исследовал и обнаружил, что в коде, создаваемом дизайнером, кнопки видны при добавлении на панель, а при добавлении панели в основную форму они становятся невидимыми.

Вот предварительный просмотр моего кода:

'ActionsPanel is the panel which contains the buttons 
Me.ActionsPanel.Controls.Add(Me.SaveButton) 
Me.ActionsPanel.Controls.Add(Me.DeleteButton) 
Me.ActionsPanel.Controls.Add(Me.NewButton) 
Me.ActionsPanel.Controls.Add(Me.OpenButton) 
'So far the buttons are visible 

Me.Controls.Add(Me.ActionsPanel) 
'Me refers to the parent form of the controls 
'As of here the buttons become invisible 

Таким образом, в строке, где Группа добавляется в форму, кнопки становятся невидимыми.

Я пытаюсь заставить их верно, используя отладчик только для тестирования, но свойство не меняется (Смотрите видео ролях:. Video

Кто-нибудь есть идеи, пожалуйста,

? Спасибо.

+0

Изменение их видимых значений в дизайнере на true. – OneFineDay

+0

Это уже так. Их значения в дизайнере верны –

+0

Хорошее видео. Вы пытались установить true после Add (Me.ActionsPanel)? – IvanH

ответ

0

Использование

Me.ActionsPanel.Controls.Add(Button1) 

Вместо

Me.ActionsPanel.Controls.Add(Me.Button1) 

Надеется, что это помогает.

Кроме того, если вы хотите, чтобы переместить его вокруг, используйте

Button1.Location = New Point(X, Y) 
0
'ActionsPanel is the panel which contains the buttons 
Me.ActionsPanel.Controls.Add(Me.SaveButton) 
Me.ActionsPanel.Controls.Add(Me.DeleteButton) 
Me.ActionsPanel.Controls.Add(Me.NewButton) 
Me.ActionsPanel.Controls.Add(Me.OpenButton) 

Это показывает добавление кнопок из формы на панель. Поскольку вы не изменить расположение, есть высокая liklihood, что они не находятся в видимой области. Это не то, что видимое Собственность Ложное , но они не доступны для просмотра или cann не видно. Он продолжает меняться, потому что они не находятся в видимой области.

dim btn as Button = Me.SaveButton 
Me.ActionsPanel.Controls.Add(btn) 
btn.Location = new point (10,10)  ' maybe other properties too 

btn = Me.DeleteButton 
Me.ActionsPanel.Controls.Add(btn) 
btn.Location = new point (10,40) 
1

У меня аналогичная проблема сегодня (хотя я не могу видеть видео больше) и в моем конкретном случае, проблема заключалась в том, что я установил видимое свойство элемента управления, являющегося дочерним элементом другого элемента управления.

Если бы я сделал child.visible=true, а затем if child.visible, результат был false.

Я обнаружил, что если я установил parent.visible=true, тогда child.visible также станет true. На самом деле, похоже, что дочерние элементы управления сообщают только свое определенное состояние, если родительский объект видим.

Надеюсь, это поможет некоторым людям, даже если эта тема более 2 лет.

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