Dans un Treeview il y a des nodes avec des childs. J'y ai placé un évènement DblClick.
Mon problème est le suivant.
Lorsque je double clic sur un noeud ... immédiatement ,.. si celui-ci est "Expanded" les childs se masquent ou Í l'inverse si celui-ci n'est pas "Expanded" il le devient.
Je cherche Í faire en sorte que lors du double clic cela ne bouge pas ou encore au minimum qu'il redevienne comme il était.
Pourriez-vous avoir une idée de comment gérer ceci? Merci Í l'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 18/11/21 Í 16:56, a écrit :
Bonjour, Dans un Treeview il y a des nodes avec des childs. J'y ai placé un évènement DblClick. Mon problème est le suivant. Lorsque je double clic sur un noeud ... immédiatement ,.. si celui-ci est "Expanded" les childs se masquent ou Í l'inverse si celui-ci n'est pas "Expanded" il le devient. Je cherche Í faire en sorte que lors du double clic cela ne bouge pas ou encore au minimum qu'il redevienne comme il était. Pourriez-vous avoir une idée de comment gérer ceci? Merci Í l'avance. Private Sub TreeViewAvis_DblClick()
Bonjour, D'abord, la vraie question devrait être de définir ce que tu veux faire avec la procédure du double-clic? Si tu choisis cet événement, on ne peut pas intercepter l'événement, il va avoir lieu, on ne peut pas grand-chose! Si tu as un événement Clic pour le treeview, il va aussi se déclencher. Le TreeView a une multitude d'événements que tu peux choisir. Est-ce que le Double-Clic est celui qui convient le mieux pour ce dont tu veux réaliser? Tu as les événements "TreeView1_Collapse" et TreeView1_Expand. Ils t'aideront Í déterminer le statut du "noeud" et le remettre en place le cas échéant. Regarde ici, certains bouts de code devraient d'aider. https://www.vbforums.com/showthread.php?17958-Prevent-a-treeview-node-to-collapse-on-double-click MichD
Le 18/11/21 Í 16:56, rmill...@gmail.com a écrit :
Bonjour,
Dans un Treeview il y a des nodes avec des childs. J'y ai placé un évènement DblClick.
Mon problème est le suivant.
Lorsque je double clic sur un noeud ... immédiatement ,.. si celui-ci est "Expanded" les childs se masquent ou Í l'inverse si celui-ci n'est pas "Expanded" il le devient.
Je cherche Í faire en sorte que lors du double clic cela ne bouge pas ou encore au minimum qu'il redevienne comme il était.
Pourriez-vous avoir une idée de comment gérer ceci? Merci Í l'avance.
Private Sub TreeViewAvis_DblClick()
Bonjour,
D'abord, la vraie question devrait être de définir ce que tu veux faire
avec la procédure du double-clic?
Si tu choisis cet événement, on ne peut pas intercepter l'événement, il
va avoir lieu, on ne peut pas grand-chose! Si tu as un événement Clic
pour le treeview, il va aussi se déclencher.
Le TreeView a une multitude d'événements que tu peux choisir. Est-ce que
le Double-Clic est celui qui convient le mieux pour ce dont tu veux
réaliser?
Tu as les événements "TreeView1_Collapse" et TreeView1_Expand. Ils
t'aideront Í déterminer le statut du "noeud" et le remettre en place le
cas échéant.
Regarde ici, certains bouts de code devraient d'aider.
Bonjour, Dans un Treeview il y a des nodes avec des childs. J'y ai placé un évènement DblClick. Mon problème est le suivant. Lorsque je double clic sur un noeud ... immédiatement ,.. si celui-ci est "Expanded" les childs se masquent ou Í l'inverse si celui-ci n'est pas "Expanded" il le devient. Je cherche Í faire en sorte que lors du double clic cela ne bouge pas ou encore au minimum qu'il redevienne comme il était. Pourriez-vous avoir une idée de comment gérer ceci? Merci Í l'avance. Private Sub TreeViewAvis_DblClick()
Bonjour, D'abord, la vraie question devrait être de définir ce que tu veux faire avec la procédure du double-clic? Si tu choisis cet événement, on ne peut pas intercepter l'événement, il va avoir lieu, on ne peut pas grand-chose! Si tu as un événement Clic pour le treeview, il va aussi se déclencher. Le TreeView a une multitude d'événements que tu peux choisir. Est-ce que le Double-Clic est celui qui convient le mieux pour ce dont tu veux réaliser? Tu as les événements "TreeView1_Collapse" et TreeView1_Expand. Ils t'aideront Í déterminer le statut du "noeud" et le remettre en place le cas échéant. Regarde ici, certains bouts de code devraient d'aider. https://www.vbforums.com/showthread.php?17958-Prevent-a-treeview-node-to-collapse-on-double-click MichD
MichD
Le 20/11/21 Í 09:02, a écrit :
Je comprends. Encore merci. Je ne savais pas cependant que le double clic sur un nœud ouvrait ou réduisait systématiquement un nœud. Je me demande bien pourquoi d'ailleurs ça le fait automatiquement. Si ça peut aider quelqu'un voici ce qui semble fonctionner pour moi. De cette façon le nœud reviens Í l'affichage d'avant le double clic. Car ... dans ce cas le double clic fait en sorte d'accéder Í une feuille du classeur. On Error GoTo Fin If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True Then 'Means it was not expanded UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False GoTo Step_Start End If If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False Then 'Means it was expanded UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True GoTo Step_Start End If Step_Start:
Tu as essayé comme ceci : If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True Then 'Means it was not expanded UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False Else UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False Then 'Means it was expanded UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True End If End If Step_Start MichD
Le 20/11/21 Í 09:02, rmill...@gmail.com a écrit :
Je comprends. Encore merci.
Je ne savais pas cependant que le double clic sur un nœud ouvrait ou réduisait systématiquement un nœud. Je me demande bien pourquoi d'ailleurs ça le fait automatiquement. Si ça peut aider quelqu'un voici ce qui semble fonctionner pour moi. De cette façon le nœud reviens Í l'affichage d'avant le double clic. Car ... dans ce cas le double clic fait en sorte d'accéder Í une feuille du classeur.
On Error GoTo Fin
If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then
If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True Then
'Means it was not expanded
UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False
GoTo Step_Start
End If
If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False Then
'Means it was expanded
UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True
GoTo Step_Start
End If
Step_Start:
Tu as essayé comme ceci :
If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then
If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True Then
'Means it was not expanded
UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False
Else UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False Then
'Means it was expanded
UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True
End If
End If
Je comprends. Encore merci. Je ne savais pas cependant que le double clic sur un nœud ouvrait ou réduisait systématiquement un nœud. Je me demande bien pourquoi d'ailleurs ça le fait automatiquement. Si ça peut aider quelqu'un voici ce qui semble fonctionner pour moi. De cette façon le nœud reviens Í l'affichage d'avant le double clic. Car ... dans ce cas le double clic fait en sorte d'accéder Í une feuille du classeur. On Error GoTo Fin If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True Then 'Means it was not expanded UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False GoTo Step_Start End If If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False Then 'Means it was expanded UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True GoTo Step_Start End If Step_Start:
Tu as essayé comme ceci : If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then If UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True Then 'Means it was not expanded UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False Else UF_Treeview.TreeViewAvis.SelectedItem.Expanded = False Then 'Means it was expanded UF_Treeview.TreeViewAvis.SelectedItem.Expanded = True End If End If Step_Start MichD
rmill...
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon je n'arrive pas au résultat souhaité. Car en double cliquant ... le nœud prend expansion s'il était réduit et Í l'inverse il se réduit s'il était expansionné. Donc ... arrivé Í la ligne ... If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a déjÍ été produite. Le double clic fait ceci.
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon je n'arrive pas au résultat souhaité.
Car en double cliquant ... le nœud prend expansion s'il était réduit et Í l'inverse il se réduit s'il était expansionné.
Donc ... arrivé Í la ligne ... If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a déjÍ été produite. Le double clic fait ceci.
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon je n'arrive pas au résultat souhaité. Car en double cliquant ... le nœud prend expansion s'il était réduit et Í l'inverse il se réduit s'il était expansionné. Donc ... arrivé Í la ligne ... If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a déjÍ été produite. Le double clic fait ceci.
MichD
Le 20/11/21 Í 10:31, a écrit :
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon je n'arrive pas au résultat souhaité. Car en double cliquant ... le nœud prend expansion s'il était réduit et Í l'inverse il se réduit s'il était expansionné. Donc ... arrivé Í la ligne ... If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a déjÍ été produite. Le double clic fait ceci.
Je pensais que tu utilisais une de ces 2 procédures événementielles "TreeView1_Collapse" et TreeView1_Expand dans o͹ tu plaçais ta procédure. MichD
Le 20/11/21 Í 10:31, rmill...@gmail.com a écrit :
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon je n'arrive pas au résultat souhaité.
Car en double cliquant ... le nœud prend expansion s'il était réduit et Í l'inverse il se réduit s'il était expansionné.
Donc ... arrivé Í la ligne ... If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a déjÍ été produite. Le double clic fait ceci.
Je pensais que tu utilisais une de ces 2 procédures événementielles
"TreeView1_Collapse" et TreeView1_Expand dans o͹ tu plaçais ta procédure.
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon je n'arrive pas au résultat souhaité. Car en double cliquant ... le nœud prend expansion s'il était réduit et Í l'inverse il se réduit s'il était expansionné. Donc ... arrivé Í la ligne ... If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a déjÍ été produite. Le double clic fait ceci.
Je pensais que tu utilisais une de ces 2 procédures événementielles "TreeView1_Collapse" et TreeView1_Expand dans o͹ tu plaçais ta procédure. MichD
MichD
Le 20/11/21 Í 11:15, MichD a écrit :
Le 20/11/21 Í 10:31, a écrit :
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon je n'arrive pas au résultat souhaité. Car en double cliquant ... le nœud prend expansion s'il était réduit et Í l'inverse il se réduit s'il était expansionné. Donc ... arrivé Í la ligne ... If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a déjÍ été produite. Le double clic fait ceci.
Je pensais que tu utilisais une de ces 2 procédures événementielles "TreeView1_Collapse" et TreeView1_Expand dans o͹ tu plaçais ta procédure. MichD
Je n'ai pas testé ce qui est proposé! MichD
Le 20/11/21 Í 11:15, MichD a écrit :
Le 20/11/21 Í 10:31, rmill...@gmail.com a écrit :
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon
je n'arrive pas au résultat souhaité.
Car en double cliquant ... le nœud prend expansion s'il était réduit
et Í l'inverse il se réduit s'il était expansionné.
Donc ... arrivé Í la ligne ... If
UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a
déjÍ été produite. Le double clic fait ceci.
Je pensais que tu utilisais une de ces 2 procédures événementielles
"TreeView1_Collapse" et TreeView1_Expand dans o͹ tu plaçais ta procédure.
Oui c'est ce que j'avais d'abord fait ... et justement de cette façon je n'arrive pas au résultat souhaité. Car en double cliquant ... le nœud prend expansion s'il était réduit et Í l'inverse il se réduit s'il était expansionné. Donc ... arrivé Í la ligne ... If UF_Treeview.TreeViewAvis.SelectedItem <> "" Then ... cette action a déjÍ été produite. Le double clic fait ceci.
Je pensais que tu utilisais une de ces 2 procédures événementielles "TreeView1_Collapse" et TreeView1_Expand dans o͹ tu plaçais ta procédure. MichD