2016-03-14 58 views
0

我正在为我的Winforms应用程序编写窗口定位算法。我将要定位的窗口尺寸都是相同的,并且不能调整大小。获取窗口的设计大小而不实例化

逻辑要求我知道窗口的大小。我希望能够访问我的窗口类的设计大小。换句话说,我正在寻找类似于Window类的静态成员或方法的东西,它会告诉我窗口的设计大小。

我知道我可以创建自己的静态成员/方法来报告硬编码的值,但我希望它自动生成,因为如果我以后使用VS设计器来调整窗口大小,我不想必须记得回去并更新硬编码值。

我也知道我可以暂时创建一个窗口的实例并获得它的实际大小,但这对我来说就像是一个kluge。

还有其他的选择吗?

+0

您是否尝试过任何Win32 API? –

+0

你只是不能,实际的窗口大小将取决于用户所做的主题选择,如窗口标题栏中字体的大小。最重要的是视频适配器的DPI设置,这些日子里很多用户都在改变。鸡蛋*已经*来到鸡前面,您必须创建窗口来了解鸡的大小。 Load事件是您可以找到的第一个地方。 –

回答

2

您有两种选择。

您可以实例化表单并检查值。或者你解析源文件并从那里读取值。

这两个选项都假定您不是在运行时以编程方式更改表单的大小。

最简单的就是实例化表单。这不是一个混乱。这是获取对象实例属性的唯一方法。

只要记得在表格中填入.Dispose()即可。