TreeNode und ein ToolTip

Reverent

Erfahrenes Mitglied
Hallo Leute,
erstmal cool gemacht, daß mit den Foren.
Jetzt mein erstes Problem, ich habe da eine TreeView der kann ich einen ToolTip zuordnen soweit kein Thema, aber ich möchte das nicht für die TreeView haben sondern für die TreeNodes.
Es ist in der TreeView eine Datenbankstruktur abgebildet und wenn der User jetzt mit der Mouse über eine Node fährt soll für den Node eine Zusatzinfo in Form eines ToolTip's angezeigt werden.
Dies bringt mich zu meinem zweiten Problem, wenn ich das Event TreeView_MouseHover nehme komme ich nicht an die X und Y Position der Mouse auf der TreeView.
Wie bei dem TreeView_MouseDown Event habe ich dann ja (object sender, System.Windows.Forms.MouseEventArgs e) und dann kann ich ja sagen e.X und e.Y.
Und benutze dann TreeNode node = TreeView.GetNodeAt(e.X, e.Y);
Und kann dann node ja ein ToolTip zuweisen, was mein erstes Problem wäre.

Ich bedanke mich schon mal für Eure Mühe!!
Und hoffe Ihr habt mein Problem verstanden.

P.S. Oder gibt es da noch was anderes
 
Hi, ich hatte das sele Problem einmal und hatte es so gelöst:
Code:
private void treeView_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
	TreeNode node = treeView.GetNodeAt(e.X,e.Y);
	if (null != node)
	{
                string strToolTip = node.Text;
		if (strToolTipText != toolTip.GetToolTip(treeView).ToString())
		{

			toolTip.SetToolTip(treeView, "");
			toolTip = new ToolTip(this.components);
			toolTip.SetToolTip(treeView, strToolTip);
		}
		else
		{
			toolTip.SetToolTip(treeView, "");
		} 
	}
}

Sollte eigentlich so funktionieren. Bei mir wird in dem Event noch mehr gmacht, hoffe ich hab nicht zuviel gekürzt :-(
 
Erstmal danke für deine schnelle Antwort.
Ich bilde in der TreeView ja eine Datenbankstruktur ab und wenn der User mit der Mouse über einen Node fährt kommt ein ToolTip der dem User zu diesem Node noch weitere Informationen anzeigt.
Und jetzt brauche ich da noch eine kleine Hilfestellung und zwar:
Erstens kann ich diese Info's über eine Abfrage aus der Datenbank holen aber immer einen Zugriff auf die DB wenn die Mouse sich über den Node bewegt!

Zweitens kann ich eine Klasse anlegen die von TreeNode abgeleitet wird und dann in den Objekten, die Daten speichern, die anzuzeigen sind, aber je nach grösse der DB sind das dann ganz schön viele Objekte (Arbeitsspeicher)!

Ich hoffe Ihr habt da noch eine gute Idee zu

Bis Dann
 
Hi,
Dadurch, dass du zum Aufbauen des Baumes sowieso einmal deine DB durchsuchen musst, kannst du beim Auslesen alles in Objekten speichern. diese Objekte kannst du dann den einzelnen Nodes beim Property Tag hinterlegen und auch wieder abfragen.
Wenn du beim Genannten Event eine Node findest, castest du das Objekt aus Tag in deine eigenen Klasse und fragst die Properties ab.
Das ist im Grunde, auch das was ich ich gemacht habe. Kann dir nur leider jetzt nicht den kompletten Code aus dem Event posten, da der SourceCode auf meinem Rechner am Arbetisplatz liegt.
Wenn du ihn doch Brauchst, musst du halt bescheid sagen, dann poste ich ihn am Montag.
 
Noch mal Besten Dank für die Antwort,
also die zweite Idee die ich hatte unr halt cooler.
Ich habe bis jetzt den Primärkey in den Tag von Node gespeichert.
Da mein Node Objekt zuspeichern ist genial, daß ist halt der Wald mit den Bäumen.
Bis Dann
 

Neue Beiträge

Zurück