Bonjour
Je suis débutant en langage VB.net et j'aimerais créer une form qui permettrait de créer des fenêtres personnalisées.
Exemple : En bas de ma form je mets une combobox, un label etc. Lors d'un clic sur un contrôle (par l'utilisateur), je veux créer un nouveau contrôle de la catégorie cliqué (new label si clic sur label1, nouvelle textbox si clic sur textbox1 etc)...
Je m'amuse pour l'instant au déplacement et création des contrôles mais je bloques à présent sur la gestion des événements pour chaque label ou textbox créés et je ne sais pas trop comment faire.
Voici mon code pour le moment :
Ma question est donc Où placer le code addhandler (si j'ai bien compris c'est celui qu'il me faut), et comment l'utiliser ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 Public Class Form1 Dim lbl As New List(Of TextBox) Dim i As Integer = 0 Dim ok As Boolean = False Dim y As Boolean = False Private Sub TextBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseDown If Windows.Forms.MouseButtons.Left Then ok = True lbl.Add(New TextBox) Me.Controls.Add(lbl.Item(i)) End If End Sub Private Sub TextBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseMove If ok Then With lbl.Item(i) .Visible = True .Location = New System.Drawing.Point(Me.PointToClient(MousePosition)) .Text = "Lbl" & i End With End If If i >= 1 Then y = True End If End Sub Private Sub TextBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseUp ok = False If y Then lbl(i).Location = New Point(lbl(i).Location.X, lbl(i - 1).Location.Y) End If i += 1 End Sub End Class
Par avance Merci de votre précieuse aide
P.S : J'ai changé mes labels en textbox sans changer le nom, voila pourquoi je créé une liste de lblet non pas txt, pour les plus pointilleux d'entre vous
Partager