Windows Froms对话框的大小由于未知原因而更改

时间:2018-08-22 20:10:01

标签: .net winforms

我有一个类库,可以代替.Net MessageBox。

当我使用简单的表单应用程序(仅包含一个按钮的表单)对其进行测试时,无论从何处调用它(主程序,Form.Load事件或Button.Click事件),它都可以正常工作。 / p>

当我在具有复杂得多的表单(TableLayoutPanel,DataGridView和几个正在运行的线程)的应用程序中对其进行测试并调用我的MessageBox类时,Dialog表单在这两个维度上均被截断(不缩小)。 / p>

当我调试该应用程序并查看ShowDialog之前对话框形式的大小时,MessageBox中所有组件的大小和位置都应该是应该的。

我正在寻找可能导致这种情况发生的想法。一个窗体如何影响第二个窗体的显示。据我所知,MessageBox类没有以我可以看到的任何直接方式引用主窗体。

距离我使用Windows Forms应用程序已有很长时间了,我确信自己缺少一些基本知识。

关于, 吉姆

关于, 吉姆

2 个答案:

答案 0 :(得分:0)

发布代码非常困难,因此当我从简单的表单(Form和Button)以及更复杂的表单中调用时,我将发布专门构建的消息框类的图片。 在这两种情况下,对“消息框类:”的调用都是相同的,并且两个应用程序都在调用同一类:

[Simple Form:[1]

Complex Form

答案 1 :(得分:-1)

如果不看代码,几乎不可能告诉您真正的答案。

但是,请检查有关表单的AutoScaleMode属性。可以将复杂形式设置为使用DPI缩放,这将导致诸如字体和位置之类的东西缩放,然后固定像素大小的形式将被“截断”。