Denetimleri Görsel Stilde İşleme

.NET Framework, işletim sistemlerinde bunları destekleyen görsel stilleri kullanan işleme denetimleri ve diğer Windows kullanıcı arabirimi (UI) öğeleri için destek sağlar. Bu konuda, işletim sisteminin geçerli görsel stiliyle denetimleri ve diğer kullanıcı arabirimi öğelerini işlemek için .NET Framework'teki çeşitli destek düzeyleri açıklanmaktadır.

Ortak Denetimler için İşleme Sınıfları

Denetimin işlenmesi, denetimin kullanıcı arabirimini çizmeye başvurur. Ad System.Windows.Forms alanı, bazı yaygın Windows Forms denetimlerini ControlPaint işlemek için sınıfını sağlar. Ancak, bu sınıf denetimleri klasik Windows stilinde çizer ve bu da görsel stillerin etkinleştirildiği uygulamalarda özel denetimler çizerken tutarlı bir kullanıcı arabirimi deneyimini korumayı zorlaştırabilir.

.NET Framework 2.0, görsel stillerle ortak denetimlerin System.Windows.Forms bölümlerini ve durumlarını işleyen ad alanında sınıflar içerir. Bu sınıfların her biri, denetimi veya belirli bir durumdaki denetimin bölümlerini işletim sisteminin geçerli görsel stiliyle çizme yöntemlerini içerir static .

Bu sınıflardan bazıları, görsel stillerin kullanılabilir olup olmadığına bakılmaksızın ilgili denetimi çizmek için tasarlanmıştır. Görsel stiller etkinleştirilirse, sınıf üyeleri görsel stilleriyle ilgili denetimi çizer; görsel stiller devre dışı bırakılırsa, sınıf üyeleri denetimi klasik Windows stilinde çizer. Bu sınıflar şunlardır:

Diğer sınıflar yalnızca görsel stiller kullanılabilir olduğunda ilgili denetimi çizebilir 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 . Nasıl yapılır: Denetim İşleme Sınıfı Kullanma.

Görsel Stil Öğesi ve İşleme Sınıfları

Ad System.Windows.Forms.VisualStyles alanı, görsel stiller tarafından desteklenen herhangi bir denetim veya kullanıcı arabirimi öğesiyle ilgili bilgi almak ve çizmek için kullanılabilecek sınıflar içerir. Desteklenen denetimler, ad alanında System.Windows.Forms işleme sınıfına sahip ortak denetimlerin (önceki bölüme bakın) yanı sıra sekme denetimleri ve rebar denetimleri gibi diğer denetimleri içerir. Desteklenen diğer kullanıcı arabirimi öğeleri Arasında Başlat menüsünün bölümleri, görev çubuğu ve windows'un istemci olmayan alanı yer alır.

Ad alanının ana sınıfları System.Windows.Forms.VisualStyles ve'dir VisualStyleElementVisualStyleRenderer. VisualStyleElement , görsel stiller tarafından desteklenen herhangi bir denetim veya kullanıcı arabirimi öğesini tanımlamaya yönelik bir temel sınıftır. Buna ek olarakVisualStyleElement, ad alanı bir denetiminSystem.Windows.Forms.VisualStyles, denetim bölümünün veya görsel stiller tarafından desteklenen diğer kullanıcı arabirimi öğelerinin her durumu için bir VisualStyleElement döndüren özelliklere sahip static birçok iç içe sınıf VisualStyleElement içerir.

VisualStyleRenderer , işletim sisteminin geçerli görsel stili tarafından tanımlanan her VisualStyleElement biri hakkında bilgi alan ve çizen yöntemleri sağlar. Bir öğe hakkında alınabilecek bilgiler varsayılan boyutunu, arka plan türünü ve renk tanımlarını içerir. VisualStyleRenderer Görsel stiller (UxTheme) API'sinin işlevselliğini Windows Platformu SDK'sının Windows Kabuğu bölümünden sarmalar. Daha fazla bilgi için bkz . Görsel Stilleri Etkinleştirme.

ve VisualStyleElementkullanma VisualStyleRenderer hakkında daha fazla bilgi için bkz. Nasıl yapılır: Görsel Stil Öğesi İşleme.

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 üstünün kullanılacağını belirten bir uygulama bildirimi içermesi gerekir. .NET Framework sürüm 1.1 veya üzeri ile oluşturulan uygulamalar sınıfının yöntemini Application kullanabilirApplication.EnableVisualStyles.

Görsel Stiller Desteği Denetleniyor

RenderWithVisualStyles sınıfının özelliğiApplication, geçerli uygulamanın görsel stillerle denetimler çizip çizmediğini gösterir. Özel bir denetimi boyarken, denetiminizi görsel stiller ile mi yoksa görsel stiller olmadan mı işlemeniz gerektiğini belirlemek için değerini RenderWithVisualStyles denetleyebilirsiniz. Aşağıdaki tabloda, döndürülmesi trueiçin RenderWithVisualStyles var olması gereken dört koşul listelemektedir.

Koşul Notlar
İşletim sistemi görsel stilleri destekler. Bu koşulu ayrı olarak doğrulamak için sınıfının özelliğini VisualStyleInformation kullanınIsSupportedByOS.
Kullanıcı, işletim sisteminde görsel stilleri etkinleştirmiştir. Bu koşulu ayrı olarak doğrulamak için sınıfının özelliğini VisualStyleInformation kullanınIsEnabledByUser.
Görsel stiller uygulamada etkinleştirilir. Görsel stiller, yöntemi çağrılarak Application.EnableVisualStyles veya denetimler çizmek için ComCtl32.dll sürüm 6 veya üzerinin kullanılacağını belirten bir uygulama bildirimi kullanılarak bir uygulamada etkinleştirilebilir.
Uygulama pencerelerinin istemci alanını çizmek için görsel stiller kullanılıyor. Bu koşulu ayrı olarak doğrulamak için sınıfının özelliğini Application kullanın VisualStyleState ve veya VisualStyleState.ClientAndNonClientAreasEnableddeğerine VisualStyleState.ClientAreaEnabled sahip olduğunu doğrulayın.

Bir kullanıcının görsel stillerini ne zaman etkinleştirdiğini veya devre dışı bırakdığını veya bir görsel stilinden diğerine geçişini belirlemek için UserPreferenceCategory.VisualStyleSystemEvents.UserPreferenceChanging , veya SystemEvents.UserPreferenceChanged olaylarının işleyicilerindeki değeri denetleyin.

Önemli

Kullanıcı görsel stilleri etkinleştirdiğinde veya değiştirdiğinde bir denetim veya ui öğesini işlemek için kullanmak VisualStyleRenderer istiyorsanız, olay yerine olayı işlerken UserPreferenceChanged bunu yaptığınızdan UserPreferenceChanging emin olun. öğesini işlerken UserPreferenceChangingsınıfını VisualStyleRenderer kullanırsanız bir özel durum oluşturulur.

Ayrıca bkz.