Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获得一个窗口&x27;它的设计大小没有实例化_C#_.net_Winforms - Fatal编程技术网

C# 获得一个窗口&x27;它的设计大小没有实例化

C# 获得一个窗口&x27;它的设计大小没有实例化,c#,.net,winforms,C#,.net,Winforms,我正在为我的Winforms应用程序编写一个窗口定位算法。我将要定位的窗口都将是相同的大小,并且不能调整大小 逻辑要求我知道窗户的大小。我希望能够访问窗口类的设计大小。换句话说,我正在寻找类似Window类的静态成员或方法的东西,它将告诉我窗口的设计大小 我知道我可以创建自己的静态成员/方法来报告硬编码的值,但我希望它能够自动生成,因为如果我以后使用VS设计器调整窗口大小,我不想记得返回并更新硬编码的值 我也知道我可以临时创建一个窗口的实例并得到它的实际大小,但这对我来说就像是一个难题 还有其他

我正在为我的Winforms应用程序编写一个窗口定位算法。我将要定位的窗口都将是相同的大小,并且不能调整大小

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

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

我也知道我可以临时创建一个窗口的实例并得到它的实际大小,但这对我来说就像是一个难题

还有其他选择吗?

您有两个选择

或者实例化表单并检查值。或者解析源文件并从中读取值

这两个选项都假定您在运行时没有以编程方式更改窗体的大小

最简单的方法是实例化表单。这可不是什么乱七八糟的事。这是获取对象实例属性的唯一方法

完成表单后,请记住在表单上调用
.Dispose()

您有两个选择

或者实例化表单并检查值。或者解析源文件并从中读取值

这两个选项都假定您在运行时没有以编程方式更改窗体的大小

最简单的方法是实例化表单。这可不是什么乱七八糟的事。这是获取对象实例属性的唯一方法


完成表单后,请记住在表单上调用
.Dispose()

是否尝试过任何Win32 API?如果不行,实际窗口大小将取决于用户所做的主题选择,如窗口标题栏中的字体大小。最重要的是视频适配器的DPI设置,现在很多用户都改变了这个设置。鸡蛋必须先于鸡,你必须创建窗口来了解大小。加载事件是您可以找到的第一个位置。您尝试过任何Win32 API吗?您不能,实际的窗口大小将取决于用户所做的主题选择,如窗口标题栏中的字体大小。最重要的是视频适配器的DPI设置,现在很多用户都改变了这个设置。鸡蛋必须先于鸡,你必须创建窗口来了解大小。加载事件是您可以找到的第一个位置。