Denetimleri Görsel Stilde İşleme
Bu .NET Framework, bunları destekleyen işletim sistemlerinde görsel stilleri Windows diğer kullanıcı arabirimi (UI) öğelerini işleme denetimleri ve diğer kullanıcı arabirimi (UI) öğeleri için destek sağlar. Bu konuda, işletim sisteminin geçerli görsel stiliyle .NET Framework ve diğer kullanıcı arabirimi öğelerini işlemeye yardımcı olacak çeşitli destek düzeyleri açıklanmıştır.
Ortak Denetimler için İşleme Sınıfları
Bir denetimi işleme, denetimin kullanıcı arabirimini çizmeyi ifade eder. Ad System.Windows.Forms alanı, bazı ControlPaint yaygın Formlar denetimlerini Windows sınıfını sağlar. Ancak bu sınıf, klasik Windows stilinde denetimler çizer ve bu da görsel stillerin etkin olduğu uygulamalarda özel denetimler çizerken tutarlı bir kullanıcı arabirimi deneyiminin korunmasını zorlaştırabilirsiniz.
2.0 .NET Framework 2.0, görsel stiller ile ortak denetimlerin parçalarını ve System.Windows.Forms durumlarını işleyici ad alanına sınıflar içerir. Bu sınıfların her biri, denetimi veya denetimin belirli bir durumdaki bölümlerini işletim sisteminin geçerli görsel static stiliyle çizme yöntemlerini içerir.
Bu sınıflardan bazıları görsel stillerin kullanılabilir olup olmadığı bağımsız olarak ilgili denetimi çizmek için tasarlanmıştır. Görsel stilleri etkinleştirilirse, sınıf üyeleri görsel stilleriyle ilgili denetimi çizecek; görsel stilleri devre dışı bırakılırsa, sınıf üyeleri denetimi klasik stilde Windows çizecek. Bu sınıflar şunlardır:
Diğer sınıflar yalnızca görsel stilleri kullanılabilir olduğunda ilgili denetimi çizenin ve görsel stilleri devre dışı bırakılırsa üyeleri bir özel durum oluşturur. Bu sınıflar şunlardır:
Denetim çizmek için bu sınıfları kullanma hakkında daha fazla bilgi için, bkz. How to: Use a Control Rendering Class.
Görsel Stil Öğesi ve İşleme Sınıfları
Ad alanı, görsel stiller tarafından desteklenen herhangi bir denetim veya kullanıcı arabirimi öğesi hakkında bilgi almak ve çizmek System.Windows.Forms.VisualStyles için kullanılan sınıflar içerir. Desteklenen denetimler, ad alanı içinde işleme sınıfı olan yaygın denetimleri (önceki bölüme bakın) ve sekme denetimleri ve rebar denetimleri gibi System.Windows.Forms diğer denetimleri içerir. Desteklenen diğer kullanıcı arabirimi öğeleri Başlat menüsünün bölümleri, görev çubuğu ve pencerelerin istemci olmayan alanıdır.
Ad alanının ana sınıfları System.Windows.Forms.VisualStyles ve VisualStyleElement 'tir. VisualStyleRenderer VisualStyleElement , görsel stiller tarafından desteklenen herhangi bir denetimi veya kullanıcı arabirimi öğesini tanımlamaya yönelik temel bir sınıftır. Ad alanı, kendisine ek olarak, bir denetimin, denetim parçasının veya görsel stiller tarafından desteklenen diğer kullanıcı arabirimi öğesinin her durumu için bir dönüş özelliklerine sahip birçok iç içe geçmiş VisualStyleElementSystem.Windows.Forms.VisualStyles sınıf VisualStyleElementstaticVisualStyleElement içerir.
VisualStyleRenderer , işletim sisteminin geçerli görsel stili tarafından tanımlanan her VisualStyleElement biri hakkında bilgi çizen ve alan yöntemleri sağlar. Bir öğe hakkında alına bilgiler, varsayılan boyutunu, arka plan türünü ve renk tanımlarını içerir. VisualStyleRenderer, Windows Platform SDK'sı'nın Windows Shell kısmından görsel stilleri (UxTheme) API'sini sarmalar. Daha fazla bilgi için bkz. Görsel Stilleri Etkinleştirme.
ve kullanma hakkında daha fazla VisualStyleRenderer bilgi VisualStyleElement için VisualStyleRenderer
Görsel Stilleri Etkinleştirme
.NET Framework sürüm 1.0 için yazılmış bir uygulamanın görsel stillerini etkinleştirmek için, programcıların denetimleri çizmek için ComCtl32.dll sürüm 6 veya sonraki bir sürümün kullan olacağını belirten bir uygulama bildirimi içermesi gerekir. .NET Framework 1.1 veya sonraki bir sürümüyle yerleşik uygulamalar Application.EnableVisualStyles sınıfının yöntemini Application kullanabilir.
Görsel Stiller Desteğini Denetleme
sınıfının RenderWithVisualStyles özelliği, Application geçerli uygulamanın görsel stiller ile denetimler çizip çizme olmadığını gösterir. Özel bir denetimi boyamak için değerini kontrol edip denetiminizi görsel stillerle mi yoksa görsel stiller olmadan mı RenderWithVisualStyles işlemeniz gerektiğini tespit edin. Aşağıdaki tabloda, dönüş için mevcut olması gereken dört RenderWithVisualStyles koşullar listelemektedir. true
| Koşul | Notlar |
|---|---|
| İşletim sistemi görsel stilleri destekler. | Bu koşulu ayrı olarak doğrulamak için IsSupportedByOS sınıfının özelliğini VisualStyleInformation kullanın. |
| Kullanıcı, işletim sisteminde görsel stilleri etkinleştirdi. | Bu koşulu ayrı olarak doğrulamak için IsEnabledByUser sınıfının özelliğini VisualStyleInformation kullanın. |
| Uygulamada görsel stiller etkinleştirilir. | Görsel stilleri, yöntemi çağrılarak veya denetimler çizmek için 6. veya sonraki bir sürümün ComCtl32.dll belirten bir uygulama bildirimi kullanılarak bir uygulamada Application.EnableVisualStyles etkinleştirilebilir. |
| Uygulama pencerelerinin istemci alanı çizmek için görsel stiller kullanılıyor. | Bu koşulu ayrı olarak doğrulamak için VisualStyleState sınıfının özelliğini kullanın ve veya Application değerine sahip olduğunu VisualStyleState.ClientAreaEnabledVisualStyleState.ClientAndNonClientAreasEnabled doğrulayın. |
Kullanıcının görsel stillerini ne zaman etkinleştiren veya devre dışı bırakarak ya da bir görsel stilden diğerine geçişlerini belirlemek için veya olaylarını işleyicilerde UserPreferenceCategory.VisualStyleSystemEvents.UserPreferenceChanging değeri kontrol SystemEvents.UserPreferenceChanged edin.
Önemli
Kullanıcı görsel stilleri sağlarken veya değiştirse bir denetimi veya kullanıcı arabirimi öğesini işlemek için kullanmaksanız, olayı işlerken olay yerine bunu VisualStyleRendererUserPreferenceChanged yapmaya emin UserPreferenceChanging olun. işlemesi için sınıfını kullanırsanız bir VisualStyleRenderer özel durum UserPreferenceChanging oluşturur.