Vb.net TableLayoutPanel Строки перекрываются, в то время как каждая вторая альтернативная строка отображается видимым true / false - PullRequest
0 голосов
/ 13 октября 2018

Небольшой обзор: -

(Предполагается, что индекс строки начинается с 1 для большей ясности) У меня есть каждая нечетная строка (1,3,5 ...) Информация о препарате.
Каждая альтернативная строка (2,4,6 ...) имеет специальное поле описания, которое является необязательным, и которое я оставил по умолчанию visible = false.

Таким образом, я держал кнопку в каждой первой строке (1,3,5 ...) при нажатии на соответствующий элемент управления TextBox (в следующей строке) видимому свойству присваивается значение true / false (кнопка переключения).
У второй строки есть только один элемент управления TextBox.
Следовательно, когда элемент управления TextBox имеет значение false, ожидается, что высота второй строки автоматически станет равной нулю, а когда она станет истинной, соответствующая вторая строка должна быть видимой.

Я установил авторазмер высоты всех строк

Проблема: -
При нажатии кнопки TextBox перекрывается в третьей строке (3,5,7 ....) вместо отображения в соответствующей второй строке (2,4,6 ...) Когда я устанавливаю TextBox по умолчанию visible = true, тогда каждая вторая строка корректно занимает.Но это ненужное занятие много места.Поскольку запись TextBox является необязательной, как указано, и не требуется каждый раз.

Ниже приведены некоторые скриншоты для большей ясности моей проблемы: -

TableLayoutPanel

Рис.1: Схема расположения таблиц


Overlapped on third row instead of taking visible second row

Рис.2: Перекрытыйв третьем ряду вместо взятия видимого второго ряда


When second row TextBox visible is set true by default

Рис.3: Когда установлен второй ряд TextBox visibletrue по умолчанию


Мой код за нажатием кнопки: -

Private Sub Button_Drug_Dosage_General_Instructions_Click(
                                                            sender As Object, e As EventArgs
                                                         ) Handles Button_Drug_Dosage_General_Instructions_20.Click,
                                                                    Button_Drug_Dosage_General_Instructions_19.Click,
                                                                    Button_Drug_Dosage_General_Instructions_18.Click,
                                                                    Button_Drug_Dosage_General_Instructions_17.Click,
                                                                    Button_Drug_Dosage_General_Instructions_16.Click,
                                                                    Button_Drug_Dosage_General_Instructions_15.Click,
                                                                    Button_Drug_Dosage_General_Instructions_14.Click,
                                                                    Button_Drug_Dosage_General_Instructions_13.Click,
                                                                    Button_Drug_Dosage_General_Instructions_12.Click,
                                                                    Button_Drug_Dosage_General_Instructions_11.Click,
                                                                    Button_Drug_Dosage_General_Instructions_10.Click,
                                                                    Button_Drug_Dosage_General_Instructions_09.Click,
                                                                    Button_Drug_Dosage_General_Instructions_08.Click,
                                                                    Button_Drug_Dosage_General_Instructions_07.Click,
                                                                    Button_Drug_Dosage_General_Instructions_06.Click,
                                                                    Button_Drug_Dosage_General_Instructions_05.Click,
                                                                    Button_Drug_Dosage_General_Instructions_04.Click,
                                                                    Button_Drug_Dosage_General_Instructions_03.Click,
                                                                    Button_Drug_Dosage_General_Instructions_02.Click,
                                                                    Button_Drug_Dosage_General_Instructions_01.Click

    If Initialization_In_Progress = True Then Exit Sub

    '------------------------------------------------------------------------------------------------
    'Button_Drug_Dosage_General_Instructions_obj
    '------------------------------------------------------------------------------------------------
    Dim btn_Button_Drug_Dosage_General_Instructions_obj As Button = CType(sender, Button)
    '------------------------------------------------------------------------------------------------

    '------------------------------------------------------------------------------------------------
    Dim object_name As String = btn_Button_Drug_Dosage_General_Instructions_obj.Name
    Dim xCustomer_Selected_srno As Double = object_name.Substring(object_name.Length - 2)
    '------------------------------------------------------------------------------------------------
    '------------------------------------------------------------------------------------------------
    Dim txtbox_TextBox_General_Instructions_obj As TextBox = CType(Me.Controls.Find("TextBox_Drug_Dosage_General_Instructions_" + (xCustomer_Selected_srno).ToString("00"), True)(0), TextBox)
    '------------------------------------------------------------------------------------------------
    If txtbox_TextBox_General_Instructions_obj.Visible = False Then

        txtbox_TextBox_General_Instructions_obj.Visible = True
        txtbox_TextBox_General_Instructions_obj.SelectionLength = 0

    Else

        txtbox_TextBox_General_Instructions_obj.Visible = False

    End If

End Sub

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

Другие мои тренировки: -

Пробная заливка док-станции TextBox, Нет, Привязка сверху, Слева, также все, RowHeight Абсолют, но ничего не получалось.

...