Переключение видимости панели не работает, когда они сложены - PullRequest
1 голос
/ 09 января 2012

У меня есть форма, которая имеет два представления. Эти виды контролируются переключателями в верхней части формы.

Вот программа:

http://dl.dropbox.com/u/41629841/DataCalculator/DataCalc1.PNG

Обратите внимание, как выбрана кнопка-переключатель для преобразователя чисел.

Вот как это выглядит при выборе переключателя Text Converter:

http://dl.dropbox.com/u/41629841/DataCalculator/DataCalc2.PNG

Это не правильно. Я установил, чтобы скрыть панель, содержащую преобразователь чисел, и показывать панель, содержащую преобразователь текста, когда вы щелкаете по ней. Он скрывает преобразователь чисел, но не показывает преобразователь текста.

Вот изображение панели текстового конвертера:

http://dl.dropbox.com/u/41629841/DataCalculator/DataCalc4.PNG

Вот соответствующий код:

Private Sub frmCalculator_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    rdoNumberConverter.Checked = True
End Sub

Private Sub rdoTextConverter_Click(sender As Object, e As System.EventArgs) Handles rdoTextConverter.Click
    pnlTextConverter.Visible = True
    pnlNumberConverter.Visible = False
End Sub

Private Sub rdoNumberConverter_Click(sender As Object, e As System.EventArgs) Handles rdoNumberConverter.Click
    pnlNumberConverter.Visible = True
    pnlTextConverter.Visible = False
End Sub

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

Вот поддерживающие картинки:

http://dl.dropbox.com/u/41629841/DataCalculator/DataCalc5.PNG http://dl.dropbox.com/u/41629841/DataCalculator/DataCalc6.PNG

Так как мне заставить это работать, когда они находятся друг над другом?

Я пытался использовать BringToFront () и SendToBack (), чтобы убедиться, что видимая панель находится спереди, и это не имело значения.

Ответы [ 2 ]

4 голосов
/ 09 января 2012

Убедитесь, что панель TextConverter не «внутри» панели NumberConverter.

Переместите их из конструктора в разные места, чтобы они не перекрывались вообще.

Затем вкод, переместите их на место:

textConverterPanel.Location = numConvertPanel.Location

Должно работать ваше видимое, невидимое переключение.

0 голосов
/ 29 ноября 2017

Проблема заключается в встраивании панелей, как отмечает @LarsTech.Это происходит, если вы используете графический интерфейс для перемещения их в то же место.

Если вы хотите перекрывать их во время разработки, создайте вторую панель в другом месте.Затем в свойствах панели в конечном расположении скопируйте местоположение и вставьте его в свойство местоположения второй панели.Это переместит его в нужное место в Designer, не вставляя одно в другое.Это можно повторить для любого количества дополнительных панелей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...