Wie zeige ich in VB.NET 2003 beim MouseEnter in einem Panel ein zweites Panel an der Mausposition an?

Antwort vom

In VB.NET 2003 (WinForms) kannst du im `MouseEnter`/`MouseMove` des ersten Panels die Mausposition in Bildschirmkoordinaten ermitteln, in Clientkoordinaten des Eltern-Containers umrechnen und dort das zweite Panel positionieren und einblenden. ```vb ' Panel1 = Bereich, über den du fährst ' Panel2 = das einzublendende Panel (z.B. Tooltip-ähnlich), initial Visible = False Private Sub Panel1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Panel1.MouseEnter ShowPanel2AtMouse() End Sub Private Sub Panel1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove ShowPanel2AtMouse() End Sub Private Sub Panel1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Panel1.MouseLeave Panel2.Visible = False End Sub Private Sub ShowPanel2AtMouse() Dim screenPos As Point = Control.MousePosition ' Panel2 soll im gleichen Parent liegen wie Panel1 (z.B. Form oder ein Container) Dim parentCtl As Control = Panel1.Parent Dim clientPos As Point = parentCtl.PointToClient(screenPos) ' Optionaler Versatz, damit es nicht direkt unter dem Cursor liegt clientPos.X += 10 clientPos.Y += 10 Panel2.Location = clientPos Panel2.BringToFront() Panel2.Visible = True End Sub ``` Wichtig: `Panel2` sollte im selben `Parent` wie `Panel1` liegen (oder du rechnest entsprechend in den richtigen Container um), sonst stimmen die Koordinaten nicht.

Kategorie: Technik Tags: Vbnet Panel Mouseenter

Verwandte Fragen

Wie speichere ich in VB.NET 2003 GIFs mit transparenten Bereichen als PNG?

Direkt in VB.NET 2003 geht das nicht zuverlässig über System.Drawing, weil .NET 1.1 PNG zwar speichern kann, transparente GIF-Pixel dabei aber oft nicht so behandelt werden, wie man es f&uum...

Wie erstelle, speichere und nutze ich in VB.NET 2003 eine DLL im Projekt?

In VB.NET 2003 erstellst du eine DLL als Class Library, kompilierst sie zu einer .dll und bindest sie im Hauptprojekt per Projektverweis oder Dateiverweis ein. Entscheidend ist: Nicht die DLL „m...

Wie lese und schreibe ich EXIF-Daten in VB.NET 2003?

EXIF ist keine eigene „Datei“, sondern Metadaten im Bild selbst. In VB.NET 2003 liest du EXIF über Image.PropertyItems bzw. GetPropertyItem, und schreiben kannst du nur über SetP...

Wie lasse ich im VB.NET-2003-MonthCalendar selbst gewählte Datumswerte anzeigen?

Ja: Im MonthCalendar zeigst du selbst gewählte Daten über die Fettmarkierung an. Entscheidend ist: Die Daten müssen als DateTime hinzugefügt und danach mit UpdateBoldedDates() aktu...

Wie sortiere ich in VB.NET 2003 ein Array mit 4 Spalten und x Zeilen?

Ein echtes 2D-Array in VB.NET 2003 kannst du nicht direkt mit Array.Sort sortieren; praktisch musst du die Zeilen entweder selbst tauschen oder die Daten zuerst in eine sortierbare Struktur umbauen. A...