0

在我的解决方案中,我有一个正在创建自定义控件的项目。当我构建该项目时,我可以通过设计器将自定义控件插入到另一个项目中。一切正常

但是,使用其中一种控件和其中一种形式时,我遇到了麻烦。它应该是一个固定大小的控件,带有一个列表框、一个按钮、一个组框等等。但是当我将它从设计器中拖到这个特定的表单中时,列表框和按钮的大小都是错误的,比原来的要大得多。这不会发生在其他控件或其他表单中。我在所有表单的属性窗口中看到的属性(文本、字体、名称...除外)都是相同的。

对于如何查找正在发生的事情,我将不胜感激您的想法和指导。我对 VS 和 .NET 很陌生

谢谢

4

1 回答 1

1

当该控件设计在具有不同视频适配器 DPI(每英寸点数)设置的机器上时,就会发生这种情况。当您在您的设备上使用它时,控件会自动重新调整自身以适应您机器的 DPI 设置。所以它看起来和原来机器上的一样大。以英寸为单位,而不是像素。

这通常是非常需要的,您不想弄乱控件的 AutoScaleMode 属性。因为如果你这样做了,当它有不同的 DPI 设置时,它会在用户的机器上出现异常。通过编辑控件的 Designer.cs 文件来解决您的问题。在 InitializeComponent() 方法的底部查找分配 AutoScaleDimensions 属性并使其与在您的计算机上创建的控件相同的代码。然后,您可能还需要调整字体大小。

于 2012-05-20T19:51:59.197 回答