Hiçbir değişiklik yapmadan cesur bir yazı tipine dinamik olarak değiştirilmiş bir etiket yapmaya çalışıyorum.Bir etiketin üzerine nasıl gidileceği, bir fare üzerine giderse ve daha sonra tekrar normale dönüyor
Bir etiketin üzerine nasıl gidileceği, bir fare üzerine giderse ve daha sonra tekrar normale dönüyor
cevap
Kullanım Control.MouseEnter ve Control.MouseLeave ve olay işleyicisinde sender
'ın özelliklerini değiştirmek: şu anda kabul cevapla teknik olarak yanlış bir şey yok iken
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();
}
, sanırım biraz farklı bir alternatif sunmak istedik Burada neler olup bittiğini takip etmek ve takip etmek çok daha kolay. Bu yaklaşım, Yazı tipinin iki yerel kopyasını (bir kalın, bir normal) kaydeder. Ardından, fare olaylarınızda Yazı tipi referanslarını değiştirebilir ve yalnızca üst sınıfınızı elden çıkarırken (veya yazı tipini değiştirdiğinizde) Yazı Tiplerinin imha edilmesi konusunda endişelenmeniz gerekir.
Ayrıca, bu yazı tipleri ve Fare olayları ile uğraşırken bu başarısız olabilir çünkü insanlar genellikle (yani Yazı oluşturma deneyin-yakalamak unutmak taşıma ve bertaraf ederken fare olay işleyicileri kaydını bazı hata ekler. Sadece
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. Çubuğun üzerine fare eklendiğinde nasıl etiket gösterileceği
- 2. Bir etiketin çevresinde görünen kenarlığı, üzerine tıkladığınızda nasıl silebiliriz?
- 3. Fare resmin üzerine taşınırsa bir şeyler yapın? Javascript Jquery
- 4. Dosyayı kopyala, üzerine yazmaktansa üzerine yazın
- 5. Odağı bir düğmenin üzerine getirme
- 6. Üzerine yazdıktan sonra window.console erişim
- 7. bir esnek tuval üzerine bir dikdörtgen Çizim aşağı fare bir "seçim dikdörtgeni" çizmek için
- 8. Android'de bir resmin üzerine nasıl metin yazabilirim ve kaydederim?
- 9. Bu kodun çalışması sırasında görüşlerim neden genişliyor ve normale dönüyor?
- 10. Bir arabirimin, bir arabirimin üzerine yazılması, PHP'de başka bir arabirimden devraldığı bir yöntemin üzerine yazıyor
- 11. Bir resmin üzerine katman katın ve koordinatlarını
- 12. Aspectj bir yöntemin üzerine yazılır
- 13. bir resmin üzerine bir div yerleştirme
- 14. Belirli bir şubenin üzerine nasıl yazılır?
- 15. iki bitmap'i bir diğerinin üzerine nasıl birleştirirsiniz?
- 16. Bir txt dosyasındaki verilerin üzerine nasıl yazılır?
- 17. Artifactory Kullanarak Üzerine Yazma Üzerine Yazmayı Önleme
- 18. nasıl tek bir satır üzerine döngüden
- 19. jQuery - Fare bir öğenin üzerine geldiğinde nasıl bir animasyona devam edebilirim?
- 20. Tuval Üzerine Sürükle ve Bırak Şekiller
- 21. Başka bir bilgisayarda c: \ üzerine yaz
- 22. Bir görünüm üzerine bir daire çizin (android)
- 23. IE davranışında execCommand davranış: CLEditor görüntü üzerine yazma sorunu üzerine
- 24. Çapraz Tarayıcı Üzerine giderek gif animasyonlu & fare aşağıdaki resimlere sahip
- 25. Salınım: yarı saydam JPanel üzerindeki radyo düğmesi etiketi üzerine farenin üzerine gelin.
- 26. Bir öğenin üzerine gelin ve bir başkasını değiştirin (Javascript kullanmadan)
- 27. İstek üzerine Sails.js'de Ember.js
- 28. Fotoğrafların tek bir resimde üzerine basılması
- 29. Bir SVG doğrultusu nasıl geçilir? çubuğunun üzerine fare ile gelindiği zaman SVG Bu parçada
- 30. android, bir kamera üzerine bir bakışta akışı önizleme
Farkında olmak için, Yazı tipini değiştirmeden kullanabilmeniz için yazı tipini kullanmanız gerekir. – aqwert
@aqwert: – ulrichb
mükemmel Teşekkür ederim –