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]

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

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

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!