Nasıl Görsel Stiller etkinleştirilmiş olarak ComboBox gibi görünecek şekilde denetim işlemek?

oy
28

Bir örnek alınarak bir kontrole sahip ComboBox'ta . Ben kontrol böylece denetim işlemek istediğiniz sınır standart o benziyor Windows ComboBox . Özellikle, MSDN belgelerine takip ettim ve kontrol tüm oluşturma kontrolü devre dışı bırakıldığında render haricinde doğrudur.

Daha açıkçası, bu bir sistem içindir Visual Styles sağladı. Ayrıca, kontrolün tüm parçaları devre dışı eşleşmeyen bir engelli kontrolü, etrafında sınırında dışında düzgün bir şekilde oluşturulması ComboBox sınır rengini.

Ben kullanıyorum VisualStyleRenderer sınıfı. MSDN kullanılmasını önermektedir VisualStyleElement.TextBoxiçin eleman TextBox parçası ComboBox kontrolü fakat standart bir engelli TextBox ve standart bir devre ComboBox (bir açık gri bir sınır, diğer açık mavi bir sınır vardır) farklı hafif çizin.

Nasıl devre dışı durumda kontrolün doğru oluşturulmasını alabilirim?

Oluştur 05/08/2008 saat 22:19
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
8

Bu Aradığınız ama size kontrol etmelisiniz buysa ben% 100 emin değilim VisualStyleRenderer System.Windows.Forms.VisualStyles-ad.

  1. VisualStyleRenderer sınıfı (MSDN)
  2. Nasıl yapılır: Render bir Görsel Stil Eleman (MSDN)
  3. VisualStyleElement.ComboBox.DropDownButton.Disabled (MSDN)

kullanıcı (o / o 'klasik modu' veya Windows XP öncesinde bir operatif sistemi çalışıyor olabilir) etkin görsel stiller yoksa VisualStyleRenderer çalışmaz beri hep ControlPaint sınıfına bir yedeği olmalıdır.

// Create the renderer.
if (VisualStyleInformation.IsSupportedByOS 
    && VisualStyleInformation.IsEnabledByUser) 
{
    renderer = new VisualStyleRenderer(
        VisualStyleElement.ComboBox.DropDownButton.Disabled);
}

çizerken ve sonra böyle yapın:

if(renderer != null)
{
    // Use visual style renderer.
}
else
{
    // Use ControlPaint renderer.
}

Umarım yardımcı olur!

Cevap 16/08/2008 saat 22:28
kaynak kullanıcı

oy
1

Olan var ControlPaint yöntemlerine bunun için yararlıdır? Ben genelde özel hale denetimler için kullanmak budur.

Cevap 16/08/2008 saat 20:58
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more