Je suis un étudiant sans grande expérience de vb.net et j'ai besoin d'aide pour un projet personnel. J'essaye d'augmenter la taille d'un contrôle multiligne de texte pour que je puisse insérer plusieurs lignes pendant l'exécution. Je veux aller à une nouvelle ligne dans ma zone de texte après avoir appuyé sur Entrée. En même temps, j'essaie de générer une liste déroulante à côté de chaque ligne de textbox créée en appuyant sur Entrée. Voici le code que j'ai jusqu'à présent:Problèmes lors de la modification de multilbox pendant l'exécution vb.net
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
Le problème est la zone de texte augmente sa hauteur avec chaque caractère de type I en elle, et quand je frappe entrer, la hauteur de commande augmente par incréments étranges qui ne peuvent pas être liés à la police de texte * nombre de lignes. En outre, mon code peut être loin sur la façon de créer une liste déroulante pendant l'exécution et le définir à un emplacement spécifique, mais j'espère que vous êtes en mesure de voir ce que je suis en train de faire. Merci d'avance.
Merci, cela a été très utile, je vais le modifier pour essayer de garder les contrôles de la zone de liste déroulante se chevauchent les uns les autres avec chaque ligne ajoutée dans la zone de texte. Je pourrais même juste changer les méthodes d'entrée d'une boîte de texte à quelque chose d'autre. Merci –