IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

VB.NET Discussion :

Besoin aide création visual basic [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    responsable production
    Inscrit en
    Août 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : responsable production
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2017
    Messages : 32
    Par défaut Besoin aide création visual basic
    Salut à tous ;

    Je suis nouvelle utilisateur de VB2010 express .

    Je suis occupé de monter un projet et je but sur quelque chose.

    Voici la description :

    J'ai créer une fenetre avec des boutons clic ( 1 .2 .3 4 . 5 ....... ) jusqu'à 150 plus ou moins .( voir photo )
    Nom : Sans titre.jpg
Affichages : 515
Taille : 80,0 Ko

    Et quand je clic desssus , j'ai une autre fenêtre qui s'ouvre avec 3 choix possible ; en fonction du choix que je choisie ( libre, occupé,travaux ) voir photo .
    Nom : Sans titre2.jpg
Affichages : 519
Taille : 23,3 Ko

    La couleur de mon numéro de case change ( vert , rouge ou orange )

    J'ai réussi à créer le script pour une case mais y a t'il moyen de créer un seul script pour les 150 cases?

    je précise que chaque cases est indépendante et que le choix choisi ( couleur ) doit rester enregistrer à la fermeture du logiciel .

    Merci d'avance pour votre aide .

    D'ailleur étant nouveau sur visual basic , j'ai plein de question mais on verra après lol chaque chose en sont temps .

    A+ matthieu

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    bonjour,

    - concernant l' evenement click declenché pour chaque bouton, il te faut associer le handle de tes boutons a une seule procedure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Button1234_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click
     
    Dim clickedButton as button = TryCast(sender, button)
    msgbox(clickedButton.name)
     
    'fais ce que tu veux ici avec le bouton qui a été cliqué. A toi de prevoir tes clauses conditionnelles (if ou select case....) !
     
    End Sub
    - Pour ce qui est de sauvegarder tes paramètres, nous avons déjà traités plusieurs fois ce sujet sur ce forum : a savoir choix du type de fichiers (xml, ini, etc....) selon le volume d informations a sauvegarder....

    Enfin, saches que conformement à la charte nous echangerons au travers de qq snippets de codes que lorsque tu nous montreras ce que tu as tentés de faire.....

    @+

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    dans le principe on ne pose pas les boutons à la main mais avec du code, et on relit l'event clic de tous les boutons vers la même sub


    https://www.developpez.net/forums/d1698587/dotnet/langages/vb-net/declaration-dynamique-d-objets/#post9291351

    + le flowlayoutpanel
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti
    Homme Profil pro
    responsable production
    Inscrit en
    Août 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : responsable production
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2017
    Messages : 32
    Par défaut
    Je dois avouer que j'ai du mal à vous suivre .

    Pour le moment , j'ai refait 3 boutons et un bouton exit:
    Nom : Sans titre.jpg
Affichages : 465
Taille : 16,8 Ko
    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Class liste_chambre
     
        Private Sub Button166_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button166.Click
            My.Settings.Save()
            Me.Close()
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
            etatchambre.Show()
            My.Settings.Save()
        End Sub
     
    End Class]
    et mes 3 boutons de choix :
    Nom : Sans titre2.jpg
Affichages : 433
Taille : 19,4 Ko
    et le code actuelle :
    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
    Public Class etatchambre
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Travaux.Click
            liste_chambre.Button1.BackColor = Color.Orange
            Me.Close()
     
        End Sub
     
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Libre.Click
            liste_chambre.Button1.BackColor = Color.GreenYellow
            Me.Close()
     
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Occupée.Click
            liste_chambre.Button1.BackColor = Color.Red
            Me.Close()
        End Sub
    End Class
    je suis pas sur que vous m'ayez compris ,
    le but est de savoir si une case est occupé ou pas ou en travaux
    donc chaques cases doit etres independant et au final il y aura 150 cases .

    ou c'est moi qui ne sait pas utiliser vos solutions ?

    merci de vos retours .
    matthieu

  5. #5
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    @matamat59 :

    Ce que pol63 t'invite à suivre comme bonne pratique de programmation concerne la création dynamique de contrôles. En somme quel est l'un des avantages de faire de la programmation :

    --> Eviter les actions répétitives ! à savoir dans ton cas tu as posés 150 boutons sur un formulaires et paramétrés chacun de ses boutons ....WtF...o_O quel calvaire pour un développeur....
    Alors qu'en moins de 10 lignes de codes tes boutons pourraient étre créés puis paramétrés.....

    Secondo : je te suggère de bien lire le contenu de nos réponses et d'éviter de nous dire que nous n'avons rien compris de ton problème. Merci.

    ++

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    je confirme qu'on a bien compris ta problématique, qui est une demande courante ici, mais on t'a envoyé dans une autre direction, qui demande moins de code, moins de temps, et apporte plus d'évolutivité et de maintenabilité

    on ne pose pas 150 boutons qui font à peu près la même chose à la main pour plusieurs raisons
    - c'est long
    - au mieux tu vas avoir handles btn1.click, btn2.click ... sur plusieurs lignes
    - en général un programme est lié à une base de données (ou tout enregistrement en mémoire dure) donc on préfère du code dynamique pour que le jour où on rajoute un élément (un chambre dans ton cas) on ait rien à modifier dans le code
    - et surement plein d'autres raisons

    il est possible d'écrire du code qui va ajouter les x boutons et comme le dit wallace1 et mon exemple ca prend une dizaine de ligne, soit moins de temps qu'il t'as surement fallu pour poser les quelques premiers boutons, les aligner etc... (enfin pour nous, la première que tu vas écrire ce code tu vas peut être galérer ^^)

    et donc en plus de créer un bouton, de le "poser" par code, on peut s'abonner à un event, pour faire comme si on avait écrit x fois handles btnx.click
    dans la sub clic on récupère quel bouton a été cliqué (vu que tous les bouton.click pointent vers la même sub) et on fait le traitement selon



    après idéalement il faudrait partir sur de l'objet, en windows forms il y a plusieurs possibilités, lier un bouton à une instance de chambre (via button.tag ou dictionary), ou faire un customcontrol chambre (qui hérite de bouton) avec des propriétés
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin de vos aides en visual basic 2010 remoting
    Par Chebil2006 dans le forum VB.NET
    Réponses: 0
    Dernier message: 14/02/2011, 21h35
  2. l'aide de visual basic 6 fonctionne mal
    Par bob_sapp dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/10/2007, 11h28
  3. [VB6] Aide de visual Basic
    Par Spiritkiller dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 05/05/2006, 12h33
  4. Aide sur visual basic?? Quelqu'un peut-il m'aider?
    Par lilipika dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/03/2006, 15h03
  5. [VBA-E]aide sur visual basic
    Par jaroddu94 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/02/2006, 13h59

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