2016-03-31 11 views
1

Araç Çubuğu olan bir Winforms uygulaması geliştirdim. Araç çubuğundaki son öğe, bazı öğeler içeren ToolStripDropDownButton'dur.ToolStripDropDownButton sağa hizalandığında öğeleri göstermiyor

Diğer tüm araç çubuğu düğmelerinden ayrı olarak gösterilmek için bu düğmeye ihtiyacım vardı, bu nedenle Hizalama özelliğini sağa ayarladım.

PC'mde bu tamamen çalışır, ancak Visual Studio projemi tüm not defterine taşıdıktan sonra uygulamayı çalıştırdığımda, düğmeyi tıklattığımda menü öğeleri gösterilmez, ancak açılan düğme renk değiştirir. seçildi.

Tasarım zamanında, öğeler doğru şekilde gösterilmektedir.

Burada neler oluyor ve bunu çözmek mümkün mü? Şu anda, düğme hizalamasını sola ayarlıyorum, böylece diğer araç çubuğu düğmeleriyle birlikte gösteriliyor.

Teşekkür Jaime

cevap

0

defterine, DPI ayarlarını kontrol edin. Büyük olasılıkla elemanlarınızın boyutunu ve dolgularını değiştiriyor. Sistemin DPI değerini kontrol ederek ve buna bağlı olarak kontrol boyutlarını hesaplayarak bunu aşabilirsiniz.

var graphics = this.CreateGraphics(); 
var dpiX = graphics.DpiX/96d; // Default DPI 
var dpiY = graphics.DpiY/96d; // Default DPI 
myToolbar.Width = myWidth * dpiX; 
myToolbar.Height= myHeight * dpiY; 
+0

haklıymışsınız ... notebook dpi değiştirildi, ancak bu geçici çözümü yapmaya gerek duymadım. Sorun, ona bağlı harici monitör konektörü vardı. Bununla birlikte, notebook DPI değiştirildi, ekran uzantısını monitörü kullanarak sığdırmayı düşünüyorum. – jstuardo

+0

Dış monitörlerin DPI ayarları üzerinde garip etkileri olabileceğini fark ettim. Ana ekranınızda% 100 DPI olabilir, ancak ikincil üzerinde% 120 olabilir. DPI ayarlarını programlı olarak kontrol ettiğinizde karışık sonuçlar elde edebilirsiniz ve hesaplanması zor olabilir. – DunningKrugerEffect