Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2015
    Messages : 59
    Points : 32
    Points
    32

    Par défaut lineshape creation automatique

    bonjour,

    je suis avec VS2015 en VB.net,

    je fais (enfin j'essaye) de faire un programme dans lequel j'incorpore une courbe (!) qui a en axe des X un volume et en axe des Y une pression, jusqu'a la ça va, grace a une textbox je rentre la pression maxi atteinte et le volume maxi pompé, sachant que le pompage se fait à 0.5 bpm, le volume max pompé divisé par 0.5 me donne un coef1 que j'applique aux labels en X en fonction de la longueur de mon axe X et idem sur l'axe Y avec un coef (1) pression, le tout rattrapé du décalage de l'axe X et Y et ça roule, c'est peut etre pas orthodoxe mais ça roule (si quelqu'un a une autre idée je prend).

    mais je voudrai faire les graduations sur les axes ... bien sur automatique !!!! si je devrai pouvoir me débrouiller avec les formules de position des lines de graduation, je ne vois pas comment ajouter des lignes (lineshape) automatiquement. Car celle ci serait en nbre directement dependante du volume pompé ou de la pression.

    je vous joins mes qqles lignes de code, sachant que les lineshape actuelle ont étés tracé avant dans la form et ne sont pas générées automatiquement.

    juste une précision, ma "courbe" est matérialisé par des labels qui ont pour text "x", donx si je pouvais les incrémenter automatiquement aussi ....

    merci


    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    Public Class Form1
        Dim x As Double
        Dim y As Double
        Dim z As Double
        Dim coef As Double
        Dim coef1 As Double
        Dim moy As Double
        Dim gra As Double
     
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            LineShape1.StartPoint = New Point(25, 700)
            LineShape1.EndPoint = New Point(1400, 700)
            LineShape2.StartPoint = New Point(50, 710)
            LineShape2.EndPoint = New Point(50, 30)
            LineShape4.StartPoint = New Point(100, 685)
            LineShape4.EndPoint = New Point(100, 715)
        End Sub
     
        Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
     
            coef = TextBox21.Text
            coef1 = TextBox22.Text
     
            x = TextBox1.Text
            x = ((1000 / coef) * x) + 50
     
     
            y = TextBox2.Text
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            z = y
     
            Label1.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
            x = TextBox3.Text
            y = TextBox4.Text
            x = ((1000 / coef) * x) + 50
            y = (680 / coef1) * y
            y = Int(600 - y)
     
     
     
            Label2.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox6_TextChanged(sender As Object, e As EventArgs) Handles TextBox6.TextChanged
            x = TextBox5.Text
            y = TextBox6.Text
            x = ((1000 / coef) * x) + 50
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            Label3.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox8_TextChanged(sender As Object, e As EventArgs) Handles TextBox8.TextChanged
            x = TextBox7.Text
            y = TextBox8.Text
            x = ((1000 / coef) * x) + 50
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            Label4.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox10_TextChanged(sender As Object, e As EventArgs) Handles TextBox10.TextChanged
            x = TextBox9.Text
            y = TextBox10.Text
            x = ((1000 / coef) * x) + 50
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            Label5.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox12_TextChanged(sender As Object, e As EventArgs) Handles TextBox12.TextChanged
            x = TextBox11.Text
            y = TextBox12.Text
            x = ((1000 / coef) * x)
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            Label6.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox14_TextChanged(sender As Object, e As EventArgs) Handles TextBox14.TextChanged
            x = TextBox13.Text
            y = TextBox14.Text
            x = ((1000 / coef) * x) + 50
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            Label7.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox16_TextChanged(sender As Object, e As EventArgs) Handles TextBox16.TextChanged
            x = TextBox15.Text
            y = TextBox16.Text
            x = ((1000 / coef) * x) + 50
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            Label8.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox18_TextChanged(sender As Object, e As EventArgs) Handles TextBox18.TextChanged
            x = TextBox17.Text
            y = TextBox18.Text
            x = ((1000 / coef) * x) + 50
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            Label9.Location = New Point(x, y)
        End Sub
     
        Private Sub TextBox20_TextChanged(sender As Object, e As EventArgs) Handles TextBox20.TextChanged
     
            x = TextBox19.Text
            y = TextBox20.Text
            x = ((1000 / coef) * x) + 50
            y = (680 / coef1) * y
            y = Int(600 - y)
     
            Label10.Location = New Point(x, y)
     
            moy = y / 10
     
     
            LineShape3.StartPoint = New Point(50, 700)
            LineShape3.EndPoint = New Point(x, moy)
     
     
     
        End Sub
    End Class

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 289
    Points : 23 741
    Points
    23 741

    Par défaut

    quand tu poses quelque chose sur un form en mode design, visual studio génère le code correspondant (ce n'est pas de la magie)
    tu peux donc ouvrir ce fichier pour voir le code qui déclare un lineshape, le paramètre et l'ajoute au form
    ceci se trouve dans le fichier semi caché nomform.designer.vb qui est dans l'arborescence du form (y a ptete un bouton à cocher en haut de l'explorateur de solution pour afficher les fichiers cachés)

    après pour info les shapes sont des choses très peu performantes, si tu veux faire un truc plus efficace il faudra passer par du draw
    (enfin attend de voir si ca te va comme ca ou si ca rame pour s'afficher)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2015
    Messages : 59
    Points : 32
    Points
    32

    Par défaut

    Merci pour ta réponse effectivement j'ai trouvé le fichier dont tu parles, mais comment générer un label/line/textbox ? pour le nom ?

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 289
    Points : 23 741
    Points
    23 741

    Par défaut

    Pas compris.
    Dim t as new texbox
    Me.Controls.Add(t)

    Après pour y accéder ailleurs et plus tard il faut le garder dans une variable de classe comme tout le reste. Et si tu en génères plusieurs il faut les garder dans une collection.
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2015
    Messages : 59
    Points : 32
    Points
    32

    Par défaut

    je commence a entrevoir !, j'essaye des que j'ai 5 mn

    Merci

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2015
    Messages : 59
    Points : 32
    Points
    32

    Par défaut

    bon je viens finalement d'avoir le temps de regarder de près, j'ai réussi à créer un nbre de textbox automatiquement, je re essaye avec des labels des que j'ai 5 mn, mais ça doit être kif kif, mon code n'est peut etre pas académique mais il fonctionne et me rempli même les cases voulues !!! avec la mise en forme, par contre si vous voyez des modifs à faire n’hésitez pas a en parler.

    le code me crée deux fois le nbre de textbox entré dans la textbox1 (si j'entre 4 j'ai 8 textbox) et les mets cote à cote

    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
    46
    47
    48
    49
    50
    51
    52
    53
    Public Class Form1
     
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     
            Dim coef As Integer
            Dim nbr As Single = 0
            Dim coeff As Single
            Dim vol As Double
     
     
            coef = TextBox1.Text
     
            coef = coef / 0.5
            coeff = coef * 2
            Vol = 0.5
     
     
            For i As Integer = 1 To coef
     
                Dim MyTextBox As New TextBox
                Dim loc_x As Single = 10
                Dim loc_y As Single
     
                MyTextBox.Name = "xxx"
                MyTextBox.Size = New System.Drawing.Size(65, 22)
                MyTextBox.Location = New System.Drawing.Point(loc_x, loc_y + 30)
                MyTextBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
                Me.Controls.Add(MyTextBox)
                MyTextBox.Text = vol
                loc_y = loc_y + 30
                vol = vol + 0.5
     
            Next
     
     
            For i As Integer = 1 To coef
     
                Dim MyTextBox As New TextBox
                Dim loc_x As Single = 100
                Dim loc_y As Single
     
                MyTextBox.Name = "xxx"
                MyTextBox.Size = New System.Drawing.Size(65, 22)
                MyTextBox.Location = New System.Drawing.Point(loc_x, loc_y + 30)
                MyTextBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
                Me.Controls.Add(MyTextBox)
     
                loc_y = loc_y + 30
     
            Next
     
        End Sub
    End Class

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2015
    Messages : 59
    Points : 32
    Points
    32

    Par défaut

    bon ça marche aussi avec les labels, mais......mon code me crée, par exemple 2 colonnes de 4 textbox, la première colonne se rempli automatiquement en fonction d'une variable, mais je voudrais pouvoir remplir la deuxième colonne, soit a chaque boucle de "for , next " ou quand toutes les texbox xont créées, et c'est la que le bas blesse !!!!, car si je peux remplir les cellules je voudrais affecter ce que je rempli à une variable ! ors je ne connais pas le nom de la textox créée ? "xxx", d'autant qu'il change a chaque boucle !....

    quelqu'un à une solution ?

    merci

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2015
    Messages : 59
    Points : 32
    Points
    32

    Par défaut

    bon mon problème est plus complexe,

    un code me crée des textbox, et je voudrai remplir ces textbox au fur et a mesure de leur création, mais comment donner une valeur a une textbox qui vient d'etre crée et dont on ne connait pas le nom, je joins le code.

    en gros j'incrémente le nom XX avec la variable a, et le programme s’arrête si la textbox =0, puis je voudrai que le pro redémarre quand je presse "enter", le problème est que la boite crée a un nom xx+a que ma condition if then, ne veut pas reconnaitre, il n'aime pas ma synthaxe dans : MyTextBox.("XX+a").EndsWith(Keys.Return) ? que 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
            For i As Integer = 1 To coef
     
                Dim MyTextBox As New TextBox
                Dim loc_x As Single = 150
                Dim loc_y As Single
                Dim a As Single
     
     
                MyTextBox.Size = New System.Drawing.Size(65, 22)
                MyTextBox.Location = New System.Drawing.Point(loc_x, loc_y + 30)
                MyTextBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
                MyTextBox.Text = 0
                Me.Controls.Add(MyTextBox)
                MyTextBox.AcceptsReturn = True
                MyTextBox.Name = "XX+a"
                TextBox2.Text = MyTextBox.Name
     
                a = a + 1
     
     
                Do While MyTextBox.Text = 0
     
                    Application.DoEvents()
     
                    If MyTextBox.("XX+a").EndsWith(Keys.Return) Then
     
                        Exit Do
     
                    End If
     
                Loop
     
                b = MyTextBox.Text
     
     
            Next

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 289
    Points : 23 741
    Points
    23 741

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim t = directcast(leparent.controls("le nom ici"), textbox)
    tu peux aussi mettre tes texbox dans une collection typée déclarée sur la classe pour avoir une syntaxe du type macollection(numero d'item)



    après application.doevents c'est à proscrire, et ta structure qui teste à chaque tour le texte c'est du grand n'importe quoi
    tu peux t'abonner aux évènements des textbox que tu créé avec addhandler (donc textchanged par exemple)
    sender contiendra le textbox ayant déclenché l'evenement
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2015
    Messages : 59
    Points : 32
    Points
    32

    Par défaut

    merci de ta réponse mais j'ai pas tout compris et désolé pour le grand n'importe quoi, mais je fais avec le peu que je connais

    Pour être plus sérieux

    "une collection typée déclarée sur la classe pour avoir une syntaxe du type macollection(numero d'item)"


    la tu ne me parle plus Français !


    "tu peux t'abonner aux évènements des textbox que tu créé avec addhandler (donc textchanged par exemple)
    sender contiendra le textbox ayant déclenché l'evenement "


    Et la c'est presque du Chinois !!


    c'est déja sympa de me répondre, mais si tu pouvais être plus explicite

  11. #11
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 289
    Points : 23 741
    Points
    23 741

    Par défaut

    oui ce n'est pas français c'est du .net
    avant de coder il convient de lire des cours/tuto qui expliquent tous les concepts de la POO et de vb.net
    les mots que j'utilise sont généralement connus au bout d'une petite semaine d'apprentissage

    improviser quelques lignes de code ne mènera à rien …
    et lire n'est pas une perte de temps, tu peux passer 3 semaines à essayer d'écrire du code qui ne marchera pas ou lire pendant 2 semaines et écrire un truc beaucoup mieux en quelques jours

    quand j'ai commencé le vb.net j'ai lu ca https://plasserre.developpez.com/cours/vb-net/ pendant quelques dizaines d'heures
    pour débuter c'est le top
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2015
    Messages : 59
    Points : 32
    Points
    32

    Par défaut

    Quand j'étais en école d'ingé, j'avais un prof qui avait pour habitude de dire, "quand un élève n'a pas compris, c'est que le prof a mal expliqué",

    alors effectivement, je ne suis pas un grand spécialiste, loin de la, sinon je ne viendrais pas demander conseil, je connais les bases, et je pense que ça a du te vexer que je parle "du grand n'importe quoi" ...., mais à mon age (presque 60) j'ai passé l'age de me prendre des remarques comme ça.

    l'informatique et la programmation, n'est pas mon métier, ni même un loisir, c'est ni plus ni moins qu'un outil ! (comme un marteau), pour l'instant j'ai toujours réussi ( avec des recherches et des aides) à écrire les mini programmes que je cherchais à faire, je ne cherche pas à faire un soft professionnel, je n'en suis pas capable et je le sais, mais je ne tiens pas non plus à passer mon temps à apprendre un langage qui me sert 3 fois dans l'année.

    je comprend que ça puisse intéresser, et si j'avais le temps je le serai surement, mais j'ai pas le temps !.

    Alors je m'étais tourné vers ce forum, pour avoir des aides, j'étais parti de presque rien (quelque cours de Basic en 78) et je suis arrivé la. qui pour l'instant fonctionne comme je veux, alors c'est surement pas académique, mais ça me convient.

    Par contre je suis ouvert à toute suggestion d'amélioration ou autre.

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.ComponentModel
    Imports System.Globalization
    Imports System.Threading
    Imports Microsoft.VisualBasic.PowerPacks
    Imports Microsoft
    Public Class Form1
    
    
        '*** Clonage des "Options régionales" du panneau de configuration.
        '    (CultureInfo représentant la culture régionale de l'ordinateur).
    
        Dim maCI As CultureInfo = CultureInfo.CurrentCulture
        Dim maCIclone As CultureInfo = CType(maCI.Clone(), Globalization.CultureInfo)
    
        Dim coef As Integer
        Dim nbr As Single = 0
        Dim coeff As Single
        Dim vol As Double
        Dim vol1 As Double
    
        Dim x As Double
        Dim y As Double
        Dim v As Single
    
        'Dim lab_y As Single = 330
        
        Public tblist As New List(Of TextBox)
        Public imax As Byte 'quantité max de tb
    
    
        Public Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    
            imax = TextBox1.Text
            imax = imax * 2
            vol = imax / (imax * 2)
            vol1 = imax - vol
    
            '****************** Textbox colonne 1 *************************
    
            For i As Integer = 1 To imax
    
                Dim MyTextBox As New TextBox
                Dim loc_x As Single
    
                If imax > 4 Then
                    loc_x = 900
                Else
                    loc_x = 550
                End If
    
                Dim loc_y As Single
    
                MyTextBox.Name = "xxx"
                MyTextBox.Size = New System.Drawing.Size(65, 22)
                MyTextBox.Location = New System.Drawing.Point(loc_x, loc_y + 50)
                MyTextBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
                Me.Controls.Add(MyTextBox)
                MyTextBox.Text = vol
                loc_y = loc_y + 30
                vol = vol + 0.5
                x = MyTextBox.Text
    
            Next
    
            ' ***************** textbox colonne 2 ***********************
    
            'Remplissage de la liste de la liste avec des TB
            imax = TextBox1.Text - 1
            imax = (imax * 2) + 1
            For i = 0 To imax
    
    
                Dim tbtemp As New TextBox
                'ici on peut personnaliser (taille...)
                tbtemp.Size = New System.Drawing.Size(60, 22)
                tbtemp.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
                tbtemp.AcceptsReturn = True
                tblist.Add(tbtemp)
            Next
         
            'Ajouts des TB sur la form
            For i = 0 To imax
    
                Dim loc_x As Single
                Dim loc_y As Single = 50
    
                If imax > 4 Then
                    loc_x = 1000
                Else
                    loc_x = 650
                End If
    
    
                tblist(i).Location = New Point(loc_x, loc_y + i * 30)
                Me.Controls.Add(tblist(i))
                loc_y = loc_y + 30
            Next
    
            vol = imax / (imax * 2)
            vol1 = imax - vol
    
            'les TB sont affichés, prêts pour la saisie
    
            ' ********************** Label axe des X ****************
    
            For i = 0 To imax
    
                Dim Mylabel As New Label
                Dim lab_x As Single
                Dim lab_y As Single = 330
    
                Mylabel.AutoSize = True
                Mylabel.Location = New System.Drawing.Point(lab_x + 80, lab_y + 10)
                Mylabel.Name = "xxxx"
                Mylabel.Text = vol
                vol = vol + 0.5
                lab_x = lab_x + 40
                Me.Controls.Add(Mylabel)
    
            Next
    
            For i = 0 To imax
    
                Dim Mylabel As New Label
                Dim lab_x As Single
    
                Dim lab_y As Single = 330
    
                Mylabel.AutoSize = True
                Mylabel.Location = New System.Drawing.Point(lab_x + 85, lab_y - 20)
                Mylabel.Name = "xxx"
                Mylabel.Text = "x"
                lab_x = lab_x + 40
                Me.Controls.Add(Mylabel)
    
            Next
    
    
    
        End Sub
    
    
        Public Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
            Application.Exit()
    
        End Sub
    
        Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            For i = 0 To imax
                tblist(i).Text = ""
            Next
        End Sub
    
        Public Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
            Form2.Show()
        End Sub
    
        Public Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            maCIclone.NumberFormat.NumberDecimalSeparator = "."
            Thread.CurrentThread.CurrentCulture = maCIclone
    
            '************************** axe des y *******************************
            LineShape1.StartPoint = New Point(50, 15)
            LineShape1.EndPoint = New Point(50, 350)
            LineShape1.BorderColor = Color.Red
            '************************* axe des x ********************************
            LineShape2.StartPoint = New Point(25, 340)
            LineShape2.EndPoint = New Point(500, 340)
            LineShape2.BorderColor = Color.Red
    
            LineShape3.StartPoint = New Point(90, 15)
            LineShape3.EndPoint = New Point(90, 345)
            LineShape3.BorderColor = System.Drawing.Color.Gray
    
            LineShape4.StartPoint = New Point(130, 15)
            LineShape4.EndPoint = New Point(130, 345)
            LineShape4.BorderColor = System.Drawing.Color.Gray
    
            LineShape5.StartPoint = New Point(170, 15)
            LineShape5.EndPoint = New Point(170, 345)
            LineShape5.BorderColor = System.Drawing.Color.Gray
    
            LineShape6.StartPoint = New Point(210, 15)
            LineShape6.EndPoint = New Point(210, 345)
            LineShape6.BorderColor = System.Drawing.Color.Gray
    
            LineShape7.StartPoint = New Point(250, 15)
            LineShape7.EndPoint = New Point(250, 345)
            LineShape7.BorderColor = System.Drawing.Color.Gray
    
            LineShape8.StartPoint = New Point(290, 15)
            LineShape8.EndPoint = New Point(290, 345)
            LineShape8.BorderColor = System.Drawing.Color.Gray
    
            LineShape9.StartPoint = New Point(330, 15)
            LineShape9.EndPoint = New Point(330, 345)
            LineShape9.BorderColor = System.Drawing.Color.Gray
    
            LineShape10.StartPoint = New Point(370, 15)
            LineShape10.EndPoint = New Point(370, 345)
            LineShape10.BorderColor = System.Drawing.Color.Gray
    
            LineShape11.StartPoint = New Point(35, 300)
            LineShape11.EndPoint = New Point(500, 300)
            LineShape11.BorderColor = System.Drawing.Color.Gray
    
            LineShape12.StartPoint = New Point(35, 260)
            LineShape12.EndPoint = New Point(500, 260)
            LineShape12.BorderColor = System.Drawing.Color.Gray
    
            LineShape13.StartPoint = New Point(35, 220)
            LineShape13.EndPoint = New Point(500, 220)
            LineShape13.BorderColor = System.Drawing.Color.Gray
    
            LineShape14.StartPoint = New Point(35, 180)
            LineShape14.EndPoint = New Point(500, 180)
            LineShape14.BorderColor = System.Drawing.Color.Gray
    
            LineShape15.StartPoint = New Point(35, 140)
            LineShape15.EndPoint = New Point(500, 140)
            LineShape15.BorderColor = System.Drawing.Color.Gray
    
            LineShape16.StartPoint = New Point(35, 100)
            LineShape16.EndPoint = New Point(500, 100)
            LineShape16.BorderColor = System.Drawing.Color.Gray
    
            LineShape17.StartPoint = New Point(35, 60)
            LineShape17.EndPoint = New Point(500, 60)
            LineShape17.BorderColor = System.Drawing.Color.Gray
    
            LineShape18.StartPoint = New Point(35, 20)
            LineShape18.EndPoint = New Point(500, 20)
            LineShape18.BorderColor = System.Drawing.Color.Gray
        End Sub
    
        Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click
    
        End Sub
    End Class
    
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123
     
     
    puis sur la form2
    Public Class Form2 Dim a, b, c, d, k, f, g, l, m, n, o, p, q, r, s, t As Integer Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Close() End Sub Public Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load ListBox1.Items.Clear() For i = 0 To Form1.imax ListBox1.Items.Add(Form1.tblist(i).Text) Next For i = 0 To Form1.imax a = ListBox1.Items(0) b = ListBox1.Items(1) c = ListBox1.Items(2) d = ListBox1.Items(3) k = ListBox1.Items(4) f = ListBox1.Items(5) g = ListBox1.Items(7) Form1.Label1.Text = a Form1.Label3.Text = b Form1.Label4.Text = c Form1.Label5.Text = d Form1.Label6.Text = k ' l = ListBox1.Items(8) Next End Sub End Class

  13. #13
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 289
    Points : 23 741
    Points
    23 741

    Par défaut

    ce n'est pas que j'ai mal expliqué, c'est que j'ai expliqué pour un public averti (enfin tout est relatif, car comme j'ai précisé au bout de quelques jours de cours on devrait comprendre)
    que ca ne soit pas ton métier on ne le devine pas, et le préciser permet en effet un traitement différent de la question

    je ne suis pas vexé, nous sommes sur internet, sur un forum, et je ne vois même pas ce qu'il y aurait de vexant


    après je vais pas pouvoir t'aider plus, moi j'aide les gens à monter en compétence, à les débloquer, à trancher des choix architecturaux etc...
    les langages de programmation ont beaucoup évolué, et ne sont surement pas aussi simple à prendre en main aujourd'hui

    donc d'autres pourront peut etre t'aider
    ou si tu veux juste un bout de code 3x par an, il vaudrait peut etre mieux l'acheter ou trouver un bénévole si c'est pour du perso
    ou tu essayes avec un langage moins compliqué (pour de l'outillage les gens utilisent souvent vba dans excel par exemple)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [Répertoire] creation automatique de dossiers
    Par nestamak dans le forum Formulaires
    Réponses: 2
    Dernier message: 05/11/2006, 12h40
  2. Création automatique de code LaTeX de graphiques
    Par rafat dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 6
    Dernier message: 17/08/2006, 15h10
  3. Creation automatique d'Objects
    Par promopub dans le forum APIs
    Réponses: 5
    Dernier message: 27/04/2006, 14h07
  4. Réponses: 19
    Dernier message: 21/03/2006, 20h56
  5. creation automatique dossier "Ma musique"...
    Par unNew dans le forum Windows XP
    Réponses: 19
    Dernier message: 21/10/2005, 18h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo