Mesaj kutuları için bir zamanlayıcı tipi özelliği istiyorum. Hata görüntülendikten sonra, 5 saniye sonra kullanıcı müdahalesi olmadan ortadan kalkmalıdır.Mesaj kutusu nasıl otomatik gizlenir?
cevap
timer.Interval=5000;
timer.Enabled=true;
MessageBox.Show("Should close automatically");
Ön Zamanlayıcı'nın Tick
EventHandler ile aşağıdaki pasajı: Bu bir web sayfasında ise
private void timer_Tick(object sender,EventArgs evt) {
timer.Enabled=false;
SendKeys.Send("{ESC}"); // SendWait as alternative
}
MessageBox
sınıfı ile mümkün değil; taklit eden ve bu özelliği kendinize ekleyen kendi formunuzu oluşturmanız gerekir.
Peki, bunu Windows API ileti kutularıyla yapabilirsiniz. Sadece mesaj kutuları pencere tutamaçını bekletmeniz ve zamanlayıcı tetiklendiğinde bir WM_CLOSE mesajı göndermeniz yeterlidir. Pencerenin kapanış olayını not ettiğinizden emin olun ve zamanlayıcıyı bu durumda bırakın. Sadece biraz P/Invoke'a ihtiyacın var. Ama daha iyi bir çözüm, bu Q. –
cevabım uyarınca bir iletişim kutusu kullanmamaktır. Muhtemelen "' MessageBox'un bu özelliği yoktur, bir geçici çözümün olması gerekir. – BeemerGuy
Bir ileti kutusu yanlış çözümdür. Bir ipucu penceresine ihtiyacın var.
"İpucu penceresi" nedir? Eğer pencerelerdeki formlardaki bir şey benim için yeni ise - eğer yarattığınız bir şey varsa o zaman bu çok ince bir cevaptır. – Murph
Eğer bir iş yapmak zorunda kalırsanız çok ince bir cevap var mı? Güncellemeler güncellendiğinde Windows’un gösterdiği mesaj türlerini düşünüyorum. Kromsuz bir Pencereyi kolayca gösterebilir ve 5 saniye sonra öldürürsünüz, ancak bazı standart sistem bileşenleri olmalıdır. –
Sendkeyleri kullanma hakkında ne düşünüyorsunuz? Böyle
şey:
http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx
en azından olsun size araştırmaya başladı etmek., sen kullanabilirsiniz javascript veya bir oldukça güzel bir etki için jQuery. Bu genellikle "soluk" animasyonu olarak adlandırılır. Bir zamanlayıcı kullanır.
Bu yaklaşımla, gerçek bir uyarı veya MessageBox kullanmazsınız. <div>
veya başka bir HTML öğesi kullanıyorsunuz.
javascript kullanarak yaptığınız şey için here kodunu bulabilirsiniz.
Ya da jQuery kullanıyorsanız, fadeOut
'a bakın. İşte bir article.
- 1. Mesaj kutusu
- 2. Mesaj Kutusu Hata: Burada
- 3. MVC denetleyicisinde mesaj kutusu nasıl kullanılır?
- 4. Bazı Eclipse otomatik tamamlama sonuçları nasıl gizlenir
- 5. başarılı/başarısız mesaj açılır kutusu?
- 6. Userland otomatik kutusu?
- 7. Liste görünümü ve mesaj ile iletişim kutusu
- 8. Makefile'da derleme mesajı nasıl gizlenir?
- 9. Mesaj kutusunun sağ üstündeki kapat düğmesi etkinleştirilmiş yesno düğmeli mesaj kutusuyla birlikte mesaj kutusu
- 10. Onay kutusu nasıl otomatik olarak tıklanır?
- 11. Scala Aktörlerinde posta kutusu (mesaj kuyruğu) nasıl uygulanır?
- 12. C# mesaj kutusu bip sesini nasıl devre dışı bırakırım?
- 13. İletişim kutusundaki klavye nasıl gizlenir?
- 14. Giriş alanına otomatik doldurma safari simgesi nasıl gizlenir
- 15. JPanels JFrame'de nasıl gösterilir/gizlenir?
- 16. Android Açılır mesaj
- 17. facebook otomatik genişleyen kutusu gibi
- 18. Klavyede tuşlar nasıl gizlenir
- 19. python'da __methods__ nasıl gizlenir?
- 20. Araç ipucu nasıl gizlenir?
- 21. PivotItem Başlığı nasıl gizlenir?
- 22. MKAnnotationView Callout Nasıl Gizlenir?
- 23. UITextField sınırı nasıl gizlenir?
- 24. Vimeo Kontrolleri Nasıl Gizlenir
- 25. TabPane'de TabBar nasıl gizlenir?
- 26. WebGrid'de Sütunları nasıl gizlenir?
- 27. Durum çubuğu nasıl gizlenir?
- 28. TieredCompilation uyarısı nasıl gizlenir?
- 29. C# sınıfındaki bir sınıftan bir mesaj kutusu göster?
- 30. JQuery Seçilen olaylarda otomatik tamamlama metin kutusu
+1; Bu DOES bir geçici çözüm olarak çalışır. Cevabım 'MessageBox' sınıfına özgüdür =) – BeemerGuy
Bunun neden kötü olduğuna dair birtakım nedenler vardır - dahası, ilk önce bir mesaj kutusu açılmışsa ve dolayısıyla zaten kapatılmışsa. – Murph