PDA

Vollständige Version anzeigen : Treeview: Klick auf PLUS soll auch das Node markieren


eichner
27.12.2007, 03:32
Hi Forum,
wie bekomme ich es hin, daß durch ein klick auf ein plus im treeview auch das dazugehörige node bzw. der text markiert wird? (zum selecteditem wird)
Bernd

hcscherzer
27.12.2007, 11:39
Moin Bernd,
im MouseDown Ereignis kannst Du über e.X und e.Y die Position abfragen.
Ich bin nicht sicher, ob das '+' auch etwas liefert bei diesem Aufruf:
TreeView1.GetNodeAt(TreeView1.PointToClient(TreeView1.MousePosition()))
Sonst eventuell mal in der Online Hilfe bei TreeNode.Bounds nachschauen (dort werden die Koordinaten jedes Knotens verwaltet).

Noodles
27.12.2007, 14:41
Abonniere das TreeViewAfterExpand und setze den SelectedNode.

private void treeView_AfterExpand(object sender, TreeViewEventArgs e)
{
treeView.SelectedNode = e.Node;
}

eichner
27.12.2007, 16:46
@noodles
SUUUUUPER...ich danke dir
@hcscherzer
dir auch vielen dank....aber der preis geht an noodles :)

euch allen: einen guten rutsch ins neue jahr
bernd

hcscherzer
28.12.2007, 08:30
Moin Bernd,
dies hier funktioniert im übrigen nicht nur beim Klick auf das '+' oder '-' sondern auch beim Klick daneben ... ebenfalls einen Guten Start in 2008 !
Private Sub TreeView1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseDown
Dim tn As TreeNode

tn = TreeView1.GetNodeAt(TreeView1.PointToClient(TreeView1.MousePosition()))
If tn Is Nothing Then Exit Sub
TreeView1.SelectedNode = tn
End Sub