Ich versuche, ein Etikett, das dynamisch geändert wurde in eine Fettschrift ohne Glück zu machen.Wie man ein Etikett erstellt wird fett, wenn eine Maus darüber geht und danach wieder normal
Antwort
Verwenden Control.MouseEnter und Control.MouseLeave und ändern die sender
‚s Eigenschaften im Ereignishandler:
private void label1_MouseEnter(object sender, EventArgs e)
{
var font = ((Label)sender).Font;
((Label)sender).Font = new Font(font, FontStyle.Bold);
font.Dispose();
}
private void label1_MouseLeave(object sender, EventArgs e)
{
var font = ((Label)sender).Font;
((Label)sender).Font = new Font(font, FontStyle.Regular);
font.Dispose();
}
Zwar gibt es nichts technisch falsch mit der derzeit akzeptierte Antwort ist, wollte ich eine etwas andere Alternative zur Verfügung zu stellen, die ich denke, macht es viel einfacher zu verwalten und zu verfolgen, was hier vor sich geht.
Dieser Ansatz speichert zwei lokale Kopien der Schriftart (eine fett, eine normal). Dann können Sie einfach die Font-Referenzen in Ihren Mausereignissen austauschen, und Sie müssen sich nur um die Entsorgung der Fonts kümmern, wenn Sie Ihre Elternklasse entsorgen (oder wenn Sie die Schriftart ändern).
Auch fügt dies einige Fehlerbehandlung, dass die Menschen vergessen oft, wenn sie mit Schriften und Mausereignisse (nämlich Anprobe fangen die Schrift Schöpfung zu tun, weil es und Aufheben der Registrierung der Maus-Event-Handler kann fehlschlagen, wenn entsorgen.
public class MyClass
{
Font _normalFont;
Font _boldFont;
public MyClass() : IDisposble
{
try
{
_normalFont = new Font("Arial", 9);
_boldFont = new Font("Arial", 9, FontStyle.Bold);
}
catch
{
//error handling
}
label1.MouseEnter += label1_MouseEnter;
label1.MouseLeave += label1_MouseLeave;
}
private void label1_MouseEnter(object sender, EventArgs e)
{
var font = ((Label)sender).Font;
((Label)sender).Font = new Font(font, FontStyle.Bold);
font.Dispose();
}
private void label1_MouseLeave(object sender, EventArgs e)
{
var font = ((Label)sender).Font;
((Label)sender).Font = new Font(font, FontStyle.Regular);
font.Dispose();
}
public void Dispose()
{
label1.MouseEnter -= label1_MouseEnter;
label1.MouseLeave -= label1_MouseLeave;
if(_normalFont != null)
{
_normalFont.Dispose();
}
if(_boldFont != null)
{
_boldFont.Dispose();
}
}
}
- 1. Uib Tooltip sollte erscheinen, während die Maus darüber geht
- 2. Wie eine Achsenbeschriftung mit sowohl normal, kursiv und fett Schrift
- 3. Wie man das Etikett anzeigt, wenn die Maus über die Leiste bewegt wird
- 4. Wie man eine Taste ändert ein Etikett
- 5. Wie erstellt man in Swift ein nach unten ausgerichtetes Etikett?
- 6. Wie bekomme ich ein Etikett fett in offenen Schichten 3?
- 7. Wie erstellt man ein Verzeichnis, wenn nötig?
- 8. Text wird undefiniert, wenn man durch ein Array geht
- 9. In swift, wie wird der Speicher wieder normal, nachdem ein SKScene entfernt wurde?
- 10. Wie erstelle ich ein Textfeld, in dem die Nachricht angezeigt wird, wenn man den Mauszeiger darüber bewegt?
- 11. swift hidden Etikett, wenn eine Taste gedrückt wird
- 12. Comboboxen schließen sich unerwartet automatisch, wenn die Maus losgelassen wird
- 13. jQuery ist MouseDown- mit der Maus darüber
- 14. Wie aktualisiert man ein Etikett mit der aktuellen Uhrzeit?
- 15. Und wieder. Lassen Sie DropDownButton auf Maus öffnen und ausblenden, wenn Maus verlässt
- 16. Wirkung für Bild mit der Maus darüber
- 17. Wie kann ich einen Knopf in Kivy haben, der, wenn er gedrückt wird, ein Etikett erstellt?
- 18. NSTextView: Inhalt verschwunden sind beim Scrollen und angezeigt, wenn mit der Maus darüber
- 19. Tricky Verzögerung mit der Maus darüber
- 20. Seltsames Problem, bei dem die Schaltfläche nicht wieder aktiviert wird, wenn die Maus nicht geklickt wird
- 21. C# - Selenium Webdriver, Nicht in der Lage zu wählen radiobutton als ein Etikett wird darüber angezeigt
- 22. Wie erstellt man ein Wissensdiagramm?
- 23. Lassen Sie ein div auf onmouseover erscheinen, bleiben Sie aber, wenn die Maus darüber schwebt
- 24. Was ist ein Vokabelbaum und wie man einen erstellt?
- 25. Javascript Newbie: Wie in verschiedenen divs mit der Maus darüber
- 26. Wie erstellt man ein einfaches und einfaches 5-Sterne-Bewertungssystem?
- 27. Wie erstellt man ein eigenes CDN, wenn man nur eine Subdomain erstellt?
- 28. Gibt es irgendwelche Gedanken darüber, wie man einen echten "Punch-out" -Bereich in einem Sprite erstellt?
- 29. <p: selectOneMenu> mit fett Etikett für einige Elemente
- 30. QGraphicsView - wie man Maus und Tastatur scrollen
Nur Beachten Sie, Font implementiert IDisposeable, so dass Sie die Schriftart entsorgen sollten, bevor Sie es ersetzen. – aqwert
@aqwert: aktualisiert. – ulrichb
ausgezeichnet danke –