Edit: Ja der Titel ist sehr aussagekräftig ich weiss - ist mir leider zu spät Ausgefallen und wie ich jetzt sehe kann man das noch nichtmal ändern
entschuldigt bitte
Seid gegrüßt
,
gleich vorweg ich habe leider recht wenig Zeit und bin dazu noch neu bei VB.net (3 Tage). Ich habe bisher nur C++; C; Java und ASM für 8051derivate, picxx und C167 von Studiumswegen programmiert aber alles halt auf uC ausgelgt und habe daher von der Windowsprogrammierung nicht so die Ahnung.
Zum Vorhaben:
Die Anwendung besteht im Wesentlichen aus einem Form mit TreeView und Panel. Im TreeView befindet sich eine Auflistung neben der bei einem MouseHover Event eine Bildvorschau angezeigt werden soll (Also beim Hover erscheint das Bild neben dem Cursor).
Wenn der Benutzer dann auf den TreeNode klickt soll er Ihn per DragDrop in das Panel ziehen können. Dabei soll die Vorschau verschwinden sobald entweder der TreeNode angeklickt oder der Mauszeiger den Node verlassen würde. Sobald der DragEnter Event im Panel eintritt soll wieder ein Bild angezeigt werden das der Nutzer dann verschieben kann.
Zu den Problemen bisher:
Fängt schon ganz vorn an. Ich habe versucht in einem TreeView1.NodeMouseHover Event das Anzeigen der Vorschau zu realisieren. Aber erstens Verschwindet das Bild nicht mehr wenn ich den Node Verlasse (warum ist mir klar - weil ich kein Event dafür habe - aber wie löse ich das? ich habe ja kein TreeView1.NodeLostFocus oder etwas in der Art) und zweitens fehlt mir die genaue Cursorposition am Besten mit dem TreeView als Origin - im moment ist die Position für das Bild von der Position des Fensters abhängig was nat. Blödsinn ist - zumindest für meine Anwendung.
Ich habe im Code unten auch versucht die Cursor Kordinaten mit Me.TreeView1.Cursor.Position.X zu ermitteln aber dann kommt der Fehler: "Zugriff des freigegebenen Members, konstanten Members, Enumerationsmembers oder geschachtelten Typs über eine Instanz; der qualifizierende Ausdruck wird nicht ausgewertet." Kann das mal einer Erklären bitte - nur zum besseren Verständnis?
Ich werde wohl noch weitere Fragen zu dem Projekt stellen. Ich möchte keinen kompletten Code aber ein Fingerzeig wie und wo ich die Lösung umsetze/finde wär mir schon Hilfe genug.
(aber bitte nicht als www[dot]hier-gibts-n-prima-e-book-mit-3000-seiten-da-findest-du-was-du-suchst[dot]de oder
das hatte ich schon, hilft mir nicht - und ich Denke ich bemühe mich ja auch selber Antworten zu finden.)

Seid gegrüßt

gleich vorweg ich habe leider recht wenig Zeit und bin dazu noch neu bei VB.net (3 Tage). Ich habe bisher nur C++; C; Java und ASM für 8051derivate, picxx und C167 von Studiumswegen programmiert aber alles halt auf uC ausgelgt und habe daher von der Windowsprogrammierung nicht so die Ahnung.
Zum Vorhaben:
Die Anwendung besteht im Wesentlichen aus einem Form mit TreeView und Panel. Im TreeView befindet sich eine Auflistung neben der bei einem MouseHover Event eine Bildvorschau angezeigt werden soll (Also beim Hover erscheint das Bild neben dem Cursor).
Wenn der Benutzer dann auf den TreeNode klickt soll er Ihn per DragDrop in das Panel ziehen können. Dabei soll die Vorschau verschwinden sobald entweder der TreeNode angeklickt oder der Mauszeiger den Node verlassen würde. Sobald der DragEnter Event im Panel eintritt soll wieder ein Bild angezeigt werden das der Nutzer dann verschieben kann.
Zu den Problemen bisher:
Fängt schon ganz vorn an. Ich habe versucht in einem TreeView1.NodeMouseHover Event das Anzeigen der Vorschau zu realisieren. Aber erstens Verschwindet das Bild nicht mehr wenn ich den Node Verlasse (warum ist mir klar - weil ich kein Event dafür habe - aber wie löse ich das? ich habe ja kein TreeView1.NodeLostFocus oder etwas in der Art) und zweitens fehlt mir die genaue Cursorposition am Besten mit dem TreeView als Origin - im moment ist die Position für das Bild von der Position des Fensters abhängig was nat. Blödsinn ist - zumindest für meine Anwendung.
Ich habe im Code unten auch versucht die Cursor Kordinaten mit Me.TreeView1.Cursor.Position.X zu ermitteln aber dann kommt der Fehler: "Zugriff des freigegebenen Members, konstanten Members, Enumerationsmembers oder geschachtelten Typs über eine Instanz; der qualifizierende Ausdruck wird nicht ausgewertet." Kann das mal einer Erklären bitte - nur zum besseren Verständnis?
Code:
Private Sub PreviewNodePics_OnHover(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseHoverEventArgs) Handles TreeView1.NodeMouseHover
Dim sX As Integer = RectangleToClient(New Rectangle(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y, 1, 1)).Left
Dim sY As Integer = RectangleToClient(New Rectangle(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y, 1, 1)).Top
Select Case e.Node.Text
Case "AND"
'SystemHelpVar(0) = True
PictureBox1.ImageLocation = "sowieso"
PictureBox1.Top = Control.MousePosition.Y - TreeView1.Top : PictureBox1.Left = Control.MousePosition.X - TreeView1.Left + 50
PictureBox1.Visible = True
Case usw....
Case Else
PictureBox1.Visible = False
End Select
End Sub
Ich werde wohl noch weitere Fragen zu dem Projekt stellen. Ich möchte keinen kompletten Code aber ein Fingerzeig wie und wo ich die Lösung umsetze/finde wär mir schon Hilfe genug.
(aber bitte nicht als www[dot]hier-gibts-n-prima-e-book-mit-3000-seiten-da-findest-du-was-du-suchst[dot]de oder
Zuletzt bearbeitet: