Laden...

treeView CheckBoxen setzen

Erstellt von obbi vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.645 Views
O
obbi Themenstarter:in
54 Beiträge seit 2004
vor 19 Jahren
treeView CheckBoxen setzen

Hallo,
ich habe in einem treeView die CheckBoxen aktiviert (treeView1.CheckBoxes=true) und möchte zur Laufzeit diese CheckBoxes setzen, aber nicht nur auf true oder false, sondern auch auf unchecked (ausgegraut). Dazu gibt es eine Aufzählung namens CheckState.Indeterminate. Wenn ich allerdings diese Zuweisung zu einem bestimmten Knoten angebe (TreeNode.Checked=CheckState.Indeterminate) motzt der Compiler nach dem Motto "Implizite Konvertierung des Typs System.Windows.Forms.CheckState zu bool nicht möglich". Habe ich eine andere Möglichkeit?

Danke und Gruß

N
4.644 Beiträge seit 2004
vor 19 Jahren

--> Bitte im richtigen Forum posten, verschoben nach Windows Forms.

C
65 Beiträge seit 2004
vor 19 Jahren

MSDN sagt:

public bool Checked {get; set;}

Mit .NET-Bordmitteln wirst Du die Tristate-Fähigkeit der Checkbox also wohl nicht hinkriegen. Riecht mir nach einem sehr tiefen Griff in die WinAPI...

/// <summary>
/// Signatur
/// </summary>

O
obbi Themenstarter:in
54 Beiträge seit 2004
vor 19 Jahren

Hallo,
*schluck*, das lass ich dann doch lieber bleiben.
Danke für die Info...

N
4.644 Beiträge seit 2004
vor 19 Jahren

Du kannst ja auch mal auf www.codeproject.com gucken, vielleicht findest Du da ja so ein Steuerelement. 😉

O
obbi Themenstarter:in
54 Beiträge seit 2004
vor 19 Jahren

Hallo, danke für den Tipp.
Das Beispiel von der codeproject-Seite funktioniert prima, hat nur den Nachteil, dass die Checkboxen durch Icons angezeigt werden und es damit nicht möglich ist, beides anzuzeigen, also sowohl "CheckBoxen" als auch Icons - genau das bräuchte ich aber (hatte ich leider nicht erwähnt). Wenn ich das richtig verstehe, bräuchte man dazu zwei Image-Listen, was im "common control tree view control" zwar funktioniert, aber in der .net-Version rausgenommen wurde?! Kann ich dieses "common control tree view control" jetzt in mein C#-Projekt einbinden und wenn ja, wie?
Danke und Gruß