Soru Application.EnableVisualStyles () bir şey yapar mı?


Yeni bir dili anlamak söz konusu olduğunda çok seçici davranıyorum ve son zamanlarda C # öğrenmeyi öğrendim. Bu yüzden yeni bir Uygulama oluşturduğumda olan her şeyi bilmek istiyorum - bu durumda yeni bir Windows Forms Uygulaması. Bir tane oluşturdum ve Visual Studio'dan bazı kodlar verildi ve bir satır oldu Application.EnableVisualStyles().

MSDN hakkında bir araştırma yaptım ve bu makaleyi buldum: Application.EnableVisualStyles (). Söz konusu satırı açıkladığımda düğmenin görünmemesini bekledikleri örneği sundum. Hiçbir şey olmadı! Hiçbir şeyin değişmediği ortaya çıktı. Bunun çok basit bir örnek olduğunu biliyorum ama bir şey değişmemeli mi? Main () prosedüründe bu çok kritikse, eksik olduğumu ne yapıyor?


32
2017-07-20 15:07


Menşei


+1 Birinin belirli bir API olup olmadığını sorması gerektiğinde API dokümantasyonunun kötü olduğunu biliyorsunuz. bir şey yapar. - Mark E. Haase


Cevaplar:


Evet, ancak işletim sisteminizde belirli ayarların açık olması gerekir, aksi halde ne olduğunu göremezsiniz.

İşte benim sistemimde aynı uygulamanın bazı ekran görüntüleri:

Application.EnableVisualStyles();

With visual themes

// Application.EnableVisualStyles();

Without visual themes

Diğer uygulamalardaki düğmeler ikinci ekran görüntüsüne benziyorsa, kullanıp kullanmayacağınıza bakılmaksızın düğmelerin temasını her zaman görürsünüz. Application.EnableVisualStyles()OS tarafından kapatıldıkları için - onları tekrar açmanın yolu işletim sisteminize bağlıdır, ancak genellikle performans >> Görsel efektler iletişim.


32
2017-07-20 15:15





Bu, kaydırma çubuklarının ve düğmelerinin daha yaratıcı stok çizimlerini ve benzerlerini açar. Eğer yanlış ise, düz gri stok kontrollerini vb. Alırsınız.

enter image description here


12
2017-07-20 15:09





EnableVisualStyles() Bu yöntem çalıştırıldığında düğmelerin görsel olarak çizildiği anlamına gelmez, bu, yerleşik Windows temalarını "klasik Windows" görünümü ve hissi yerine stil denetimleri için kullanacağı anlamına gelir. Bilgisayarınız bir stil olmadan çalışıyorsa, o zaman fark etmezsiniz.

Bu cevap sizin için de ilginç olabilir: Terminal Hizmetleri'nde Application.EnableVisualStyles () öğesini çağırmalı mıyım?


8
2017-07-20 15:10





Bu, Microsoft Uygulamadan bir belirsiz uygulama çökmesi sorgusuna yanıt olarak aldığım şey:

Gist, çökme, Windows işletim sistemi ile birlikte gelen comctl32.dll (Windows Common Controls) 5.0 sürümünde bilinen bir hatadır. Bu hata, ortak denetimlerin 5.0 sürümünde giderilmeyecektir, çünkü bu sürüm, Windows XP'den önceki uygulamalarda yapılmıştır. O zamandan beri Windows XP ve daha sonra bulunan comctl32.dll 6.0 sürümünde düzeltildi. Windows XP'den beri, comctl32.dll (5.0 ve 6.0) sürümlerinin her Windows sürümünde bulunduğunu unutmayın. Eski olan sadece eski uygulamalar için geriye dönük uyumluluk amaçları için var.

Sorunu çözmek için, uygulamayı comctl32.dll 6.0 sürümüne geçirecek şekilde değiştirmeniz gerekir. Bir Windows Forms uygulamasında, bu, uygulamanın başlangıcında Application.EnableVisualStyles yöntemine çağrılarak yapılır. Bir C # projesi içinde geliştiriyorsanız, bunu, uygulamanızın giriş noktasında Application.Run çağrısı öncesinde arama ekleyerek yapabilirsiniz. Örneğin:

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();   //Add this line
        Application.Run(new Form1());
    }

Bir Visual Basic. Net projesindeyseniz, proje özelliklerine gidip, ardından Uygulama özellik sayfasındaki "Uygulama Çerçevesini Etkinleştir" ve "Enable XP Visual Styles" onay kutularını işaretleyerek bunu etkinleştirebilirsiniz.


3
2017-10-04 16:11