Я студент колледжа без большого опыта работы с vb.net и мне нужна помощь в личном проекте. Я пытаюсь увеличить высоту многострочного текстового элемента управления, чтобы я мог вставить несколько строк во время выполнения. Я хочу перейти на новую строку в моем текстовом поле после нажатия Enter. Кроме того, одновременно я пытаюсь создать комбинированный список рядом с каждой строкой текстового поля, созданной нажатием Enter. Вот код, который у меня есть:
Private Sub ThisTextBox_keypress(ByVal sender As System.Object, ByVal e As KeyPressEventArgs) Handles ThisTextBox.KeyPress
Dim TextboxLine As String() = ThisTextBox.Text.Split(vbNewLine)
Dim Linecount As Integer = TextboxLine.Count
If e.KeyChar = Chr(Keys.Enter) Then
Me.ThisTextBox.Height = TextRenderer.MeasureText(" ", Me.ThisTextBox.Font).Height * _ Linecount
For Each Item In TextboxLine
Dim newCombobox = New ComboBox()
Me.Controls.Add(newCombobox)
newCombobox.Items.Insert(0, "Item 1")
newCombobox.Items.Insert(1, "Item 2")
newCombobox.Items.Insert(2, "Item 3")
newCombobox.Items.Insert(3, "Item 4")
newCombobox.Location = New System.Drawing.Point(108, 69+=27)
newCombobox.Size = New System.Drawing.Size(92, 21)
Next
End If
End Sub
Проблема в том, что текстовое поле увеличивает свою высоту с каждым вводимым в него символом, и когда я нажимаю клавишу ввода, высота элемента управления увеличивается странными приращениями, которые не могут быть связаны с шрифтом текста * числом строк. Кроме того, мой код может быть далек от того, как создать комбинированный список во время выполнения и установить его в определенном месте, но, надеюсь, вы сможете увидеть, что я пытаюсь сделать. Заранее спасибо.