Feedback

C# - Label per Hover erkennen

Veröffentlicht von am 02.10.2008
(4 Bewertungen)
Wenn man mit der Maus über ein Label fährt, wird anhand der Mausposition und des Label-Location, das Label bestimmt.
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Komplett

Ziel des Seminars ist der flexible Umgang mit VB.NET, wie z.B. die damit verbundene eigenständige Entwicklung von Programmen oder das Verwenden von Datenbanken.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

private void label1_MouseHover(object sender, EventArgs e)
{
foreach (Control lbl in Controls)
{
if (lbl.Name.Contains("lbl"))
{
					//Errechnet die Position des Mauszeigers
//die Position über welchem Label sich der //Zeiger befindet

Point mousePosition = PointToClient(new Point(MousePosition.X, MousePosition.Y));

//Wenn der Zeiger innerhalb des Bereiches //des Labels ist
//über welchem er sich befindet

if (lbl.Location.X <= mousePosition.X && lbl.Location.Y <= mousePosition.Y && mousePosition.X <= lbl.Location.X + lbl.Width && mousePosition.Y <= lbl.Location.Y + lbl.Height)
{
MessageBox.Show(label1.text.ToString();
}
}
Abgelegt unter Label, Maus, Mausposition, Hover.

2 Kommentare zum Snippet

Kosmo schrieb am 02.10.2008:
Der "sender" aus den Methoden-Parametern ist bereits das Label, bei dem das MouseHover-Ereignis eingetreten ist. Es reicht vollkommen aus das sender-Objekt auf Label zu casten.


private void label1_MouseHover(object sender, EventArgs e)
{
Label lbl = sender as Label;
if(lbl != null)
{
MessageBox.Show(lbl.Text);
}
}
B# schrieb am 07.10.2008:
Danke für den Hinweis...
Das spart mir jetzt wirklich eine Menge Code
 

Logge dich ein, um hier zu kommentieren!