Autor Beitrag
DareDevil
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70

Windows7
C# (VS 2010)
BeitragVerfasst: Do 27.08.09 12:49 
Habe da mal wieder ein problem.

Wenn ich ein TreeView mit Checkboxen haben möchte ich verhindern das bei einen Doppelklick auf die Checkbox die Eigenschaft checked auf true gesetzt wird.
Habe bis jetzt keine Lösung dazu gefunden vielleicht weiß ja einer von euch weiter.

Gruß

DareDevil
Nemag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 2



BeitragVerfasst: Do 27.08.09 15:01 
Hast dir schon den EventHandler zu NodeDoubleCLick der TreeView angeschaut?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
   
private void tree_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
     e.Node.Cheched = ????
}
DareDevil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70

Windows7
C# (VS 2010)
BeitragVerfasst: Do 27.08.09 15:42 
jup habe ich schon funktioniert leider nicht
Nemag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 2



BeitragVerfasst: Do 27.08.09 16:05 
Was willst du denn jetzt eigentlich?

Wenn du willst das sich der Checkbox so wie du schreibst bei Doppelklick nicht auf true setzt dann weiß ich nicht was daran nicht funktioniert:

ausblenden C#-Quelltext
1:
2:
3:
4:
private void tree_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
     e.Node.Cheched = false;
}


oder willst du dass ein Doppelklick nur als ein Klick auf dem Knoten gewertet wird?
InCoBra
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 43



BeitragVerfasst: Do 27.08.09 16:48 
Wenn du das aktivieren ganz verhindern willst:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
   if (e.Node.Checked)
   {
      e.Node.Checked = false;
   }
}


und sonst klappt die Variante mit NodeDoubleClick auch... Habs gerade extra ausprobiert!
DareDevil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70

Windows7
C# (VS 2010)
BeitragVerfasst: Do 27.08.09 19:58 
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
private void tvPlayerCfg_BeforeCheck(object sender, TreeViewCancelEventArgs e)
{
 if ((countCfg > 1 && !e.Node.Checked) || e.Node.Tag.ToString() == "head")
 {
  e.Cancel = true;
 }
}

private void tvOptions_AfterCheck(object sender, TreeViewEventArgs e)
{
 if (e.Node.Checked)
 {
  ++countCfg;
 }
 else
 {
  --countCfg;
 }
}


bewirkt das max 2 checkboxen aktiv sein können

nur wenn ich jetzt genau auf die checkbox einen doppelklick (nicht auf den text) mache setzt er sie mir trotzdem aktiv