j'aimerai tracer une ligne, mais automatiquement, j'avais pensé a une boucle qui incrémente un label, mais je patine ... des idées ?
j'aimerai tracer une ligne, mais automatiquement, j'avais pensé a une boucle qui incrémente un label, mais je patine ... des idées ?
Bonjour,
Moi j'ai mis un textbox l'autre jour, du style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Dim Ligne As New TextBox Me.Controls.Add(Ligne) Ligne.BorderStyle = BorderStyle.None Ligne.BackColor = Color.White Ligne.Multiline = True Ligne.Size = New Size(200, 1) Ligne.Location = New Point(0, 100)
Bonjour cmarcotte, comment vas-tu et ta famille?
Oui.. j'ai honte...
Le problème avec le .NET c'est que on nous a supprimé quelques fonctionnalités telles que la ligne ('line' en vb6) ainsi que le msgbox qui s'est transformé en messagebox.show et aussi le inputbox qui n’existe plus du tout etc...
Alors on s'adapte... on improvise... on a l'habitude quelque-part
Je vis dans un pays où il faut enlever une mouche (ou autre), à chaque fois que tu bois une gorgée dans ton verre, d'accord je m'y suis habitué, mais...
En VB.Net, y a des choses qui sont pour notre bien, du genre ça nous fait réfléchir et "utiliser" nos quelques neurones, mais alors certaines comme le inputbox (par exemple)... j'ai du mal... (bien sur que nous avons des solutions, mais pas aussi pratiques)
Pourquoi faire simple quand on peux faire compliqué...
Alors... oui j'ai utilisé un textbox pour faire une ligne à la noix !!!
Je suis sur qu'il existe d'autres solutions mais je travaillais pour renault et tout doit être fait dans la seconde... <de préférence hier> (c'est ce que j'ai lu par mail)
Je sais qu'on peux insérer une ligne du vb6 dans un projet .Net, mais pour une ligne de 1px de hauteur...
Ou au pire on prend la règle et le crayon .....
Bonjour,
Dans d'ancien projets C#, j'allais chercher la ligne disponible dans Microsoft.VisualBasic.PowerPacks.Vs.dll ... juste besoin d'ajouter la référence.
J@ck.
Oui c'est exact J@ckHerror, je ne vois pas pourquoi on se prends la tête... bref, on aime bien tout compliquer quand on ne trouve pas du premier coup...
J'imagine que ça fait partie de notre esprit de chercheur...
je crois que je me suis mal exprimé ..., et excusez moi pour le bonjour, j'avais posté juste avant, et j'ai pas réalisé que vous n'étiez pas obligé de lire mon précédent message avant celui çi !!!!
Alors le label qui bouge ça je sais faire
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 Public Class Form1 Dim a As Double Dim x As Byte = 2 Dim y As Byte = 2 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click For a = 0 To 10 x = x + 1 y = y + 1 Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(x, y) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(59, 17) Me.Label1.TabIndex = 0 Me.Label1.Text = "|" a = a + 1 Next End Sub End Class
ça c'est facile, mais je voudrais que le label fasse des petits, c.a.d. qu'il reste en place a chaque position et que ce soit un autre qui aille à la position suivant ....sinon oui tracer une ligne toute bête ça je sais faire aussi.
j'ai dis une ligne car une série de label "-" cote à cote ça fait une ligne ....
je pensais a affecter une variable au label et à l'incrémenter, mais comment affecter une variable à un label .....
Comme disait J@ackHerror le shape est surement ta solution, si j'ai bien compris
Essaye ça et tu me diras:
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 Imports Microsoft.VisualBasic.PowerPacks Public Class Form1 Dim canvas As New ShapeContainer Dim theShape As LineShape 'Ajoute un bouton sur ta form: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click theShape = New LineShape canvas.Parent = Me theShape.Parent = canvas theShape.X1 = 100 theShape.X2 = 100 theShape.Y1 = 100 theShape.Y2 = 100 theShape.BorderColor = Color.Red For i As Integer = 0 To 10 theShape.Y2 += 10 Threading.Thread.Sleep(100) Application.DoEvents() Next End Sub End Class
bonjour
Bah aligner des labeks suivant une ligne droite reste simple ...
On peut meme recuperer les points d'une courbe aussi versatile qu'Ellipse avec GraphicsPath.Flatten(precision) et GraphicsPath.Points et dessiner des labels suivant cette serie de points
Il suffit de cloner ton label en declarant un nouveau label et l'ajouter au form ...
code revu :
bon code....
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 Public Class Form3 Dim a As Double Dim x As Byte = 25 Dim y As Byte = 25 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim clone As Label For i As Integer = 0 To 10 clone = New Label With clone x += 5 y += 5 .AutoSize = True .Location = New Point(x, y) .Name = "Label" + i.ToString .Size = New Size(59, 17) .TabIndex = 0 .Text = "|" .BackColor = SystemColors.Info End With Me.Controls.Add(clone) Next End Sub
Merci à tout les deux c'est exactement ce que je cherchais !!!!!
merci
Bonjour,
je reviens sur mon problème, car si en effet c'est ça que je cherchais, j'arrive a tracer des droites sans problème même oblique, mais ou je patine c'est les courbes, j'arrive a tracer ma courbe, mais avec un seul label, c.a.d. que la courbe apparait dans le mouvement du label, mais j'aurai aimé que celui reste en place et se duplique pour la position suivant, comme ça le fait pour les droites .....
voila le problème !
merci
Je ne suis pas sur de comprendre... tu veux faire des courbes avec des label ???
heuuuuu oui ..... c'est pas possible ?
Un label c'est une étiquette en français, c'est pas fait pour ça...
tu imagines faire des courbes avec des étiquettes dans un magasin de fringues?
(à la rigueur des lignes droites, ça passe)
Regarde plutôt :
https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager