2016-03-31 102 views
1

我开发了一个带有工具栏的Winforms应用程序。工具栏中的最后一个元素是带有一些项目的ToolStripDropDownButton。ToolStripDropDownButton在右对齐时不显示项目

我需要将此按钮与所有其他工具栏按钮分开显示,因此我将对齐属​​性设置为正确。

然而,在我的PC中,这完美地工作,当我将整个Visual Studio项目移动到我的笔记本上,然后运行应用程序时,菜单项不会显示,但是,当我单击按钮时,下拉按钮会更改颜色指示它被选中。

在设计时,项目显示正确。

这里发生了什么,它有可能解决它吗?此刻,我将按钮对齐方式设置为左侧,以便与其他工具栏按钮一起显示。

感谢 海梅

回答

0

检查您的笔记本电脑的DPI设置。这可能会改变元素的大小和填充。您可以通过检查系统的DPI值并基于此计算控件的大小来解决此问题。

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

你是对的......笔记本电脑的dpi被改变了,但我不需要这样的解决方法。问题是我有外部显示器连接器连接到它。有了它,笔记本DPI被改变了,我想用显示器来适应屏幕扩展。 – jstuardo

+0

我注意到外部显示器可能会对DPI设置产生奇怪的影响。您可以在主显示屏上显示100%DPI,但在辅助显示屏上显示120%。当您以编程方式检查DPI设置时,您可能会得到混合结果,并且可能难以解释。 – DunningKrugerEffect