Bonjour à tous,
Dans mon cursus d'admin réseaux, j'ai un projet de VB à faire. Ayant codé depuis des années en PHP (en revanche, gros newbie en VB ^^), je comprends la plupart des tuto que je trouve mais je perds beaucoup de temps dans la syntaxe des controles, occurences, méthodes, etc etc ...
Je tourne en rond depuis deux jours sur un problème de bouton dynamique alors là je craque ... j'ai décidé de m'inscrire sur ce forum et de demander de l'aide !
Voici en gros mon problème:
J'ai créé une ListView qui me retourne des champs de ma base MySQL.
Un des champs me retourne une valeur "NOK" ou "OK" (ça parle match de hockey ... Si les compositions de joueurs pour le match sélectionné ont été saisies alors le champ prend la valeur "OK" sinon si les compos ne sont pas saisies il prend la valeur "NOK"
Je fais un test à chaque fois que je clique sur un autre match (ItemSelectionChanged) je veux que:
- si "NOK": afficher un bouton "saisir les compositions"
- si "OK": afficher un bouton "valider le live"
J'ai créé un label qui m'affiche la valeur du champ afin de tester si le ItemSelectionChanged était opérationnel, c'est le cas.
En revanche, ça merdouille pour le bouton !
- 1ere selection dans le listview: le bouton se créé
- passages suivants dans le listview: aucune modification du bouton
J'ai essayé une deuxième solution, en vain:
créer deux boutons, un bouton compos et un bouton validlive, qui quand on est dans le cas "NOK" passe compos.visible=true et validlive.visible=false et dans le cas "OK" l'inverse, mais aucune modification n'a lieu sur les boutons !!! Je craque.
Comment faire pour gérer ces foutus boutons dynamiques ?!
Merci beaucoup pour votre aide. Place au code source maintenant
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 Private Sub LViewGameOK_ItemSelectionChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedEventArgs) Handles LViewGameOK.ItemSelectionChanged Dim N As Integer ' N = numéro d'index de la ligne du listview N = e.ItemIndex.ToString ' J'affiche dans mon label de test la valeur OK ou NOK LblTest.Text = e.ItemIndex.ToString ' Init des boutons Dim BtnCompos As New Button BtnCompos.Location = New Point(312, 220) BtnCompos.Text = "Insérer Compositions" Controls.Add(BtnCompos) Dim BtnValidLive As New Button BtnValidLive.Location = New Point(400, 220) BtnValidLive.Text = "Valider Live" Controls.Add(BtnValidLive) idmatch = LViewGameOK.Items(N).SubItems(1).Text If LViewGameOK.Items(N).SubItems(2).Text = "NOK" Then AddHandler BtnCompos.Click, AddressOf BtnComposClick LblTest.Text = "NOK" BtnCompos.Enabled = True BtnValidLive.Enabled = False Else AddHandler BtnCompos.Click, AddressOf BtnValidLiveClick LblTest.Text = "OK" BtnCompos.Enabled = False BtnValidLive.Enabled = True End If End Sub
Partager