2009-03-04 18 views
2

Bir NumericUpDown ürününü ToolStripControlHost içinde barındıran ve NumericUpDown ürün özelliklerini gösteren bir denetim var. İşlevsel olarak, bu iyi, ancak bir ToolStrip üzerine yerleştirildiğinde, diğer ToolStripItem s ile görsel olarak sığmıyor.Barındırılan NumericUpDown'ı mevcut ToolStripRenderer'ı kullanarak nasıl boyayabilirim?

Denetimi, aynı zamanda denetimde olan ToolStripComboBox'lara benzer bir şekilde çizmek için ToolStrip'un ToolStripRenderer numarasını kullanmak istiyorum. Bunu yapmak için özel bir ToolStripRenderer oluşturmakla ilgilenmiyorum, çünkü kontrolü kullanan diğer kullanıcılar istedikleri işleyiciyle birlikte kullanabiliyorlar.

Ben barındırma kontrol sınıfında OnPaint ve OnPaintBackground ağır basan çalıştı ve barındırılan kontrol sınıfında ve Renderer çizim yöntemleri kullanılarak, ama elde edebilirsiniz tüm kenarlarda boyanmamış bölgeyi sahip olmaktır ettik; döndürme düğmeleri hala sistem temasıyla çizilir.

Barındırılan bir NumericUpDown var olan ToolStripRenderer kullanarak nasıl boyayabilirim?

cevap

0

NumericUpDown sınıfı, GDI'nin bir parçası olarak bulunan genel denetim sınıfı etrafındaki bir sarıcıdır. Temel ortak kontrol, uygulama için görsel stillerin etkin olup olmamasına bağlı olarak kendini iki yoldan biriyle çizecektir. Çizimi geçersiz kılmak için tüm çizimi kendiniz yapmanız gerekir. Sadece düğmeleri veya sınırı geçersiz kılmak istediğiniz kontrolü söyleyemezsiniz.

Tüm çizimlerin kendinizin yapılması, göründüğünden çok daha zor. Üzgünüm, kolay bir çözüm sunamıyorum, ancak kolay bir çözüm olduğunu düşünmüyorum.

+0

Tüm çizimi kendim yapmak istiyorum, ancak bunu yapmak için ToolStripRenderer'in yöntemlerini kullanmak istiyorum. – Simon