Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.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# 表1视觉尺寸不小于';不匹配Form1调试视觉大小_C#_Winforms_Visual Studio - Fatal编程技术网

C# 表1视觉尺寸不小于';不匹配Form1调试视觉大小

C# 表1视觉尺寸不小于';不匹配Form1调试视觉大小,c#,winforms,visual-studio,C#,Winforms,Visual Studio,我遇到一个问题,当我调试我的应用程序时,它与我在设计器中设置的大小不匹配。我试着将表单的最小大小设置为所需的值 表单由一个splitpanel组成,每侧有一个面板停靠作为填充。 标签具有默认定位。文本框具有左、上、右锚定。 按钮左上角有锚 如果我在运行时向下拖动底部,我会得到我想要的大小/设计,但为什么它不这样开始,我如何修复它 看起来您正在使用相当高分辨率的屏幕。Windows窗体不能很好地扩展内容,并且有各种各样的怪癖需要注意。如果可能的话,我会转向WPF,但是如果您真的需要继续使用Wind

我遇到一个问题,当我调试我的应用程序时,它与我在设计器中设置的大小不匹配。我试着将表单的最小大小设置为所需的值

表单由一个splitpanel组成,每侧有一个面板停靠作为填充。 标签具有默认定位。文本框具有左、上、右锚定。 按钮左上角有锚

如果我在运行时向下拖动底部,我会得到我想要的大小/设计,但为什么它不这样开始,我如何修复它


看起来您正在使用相当高分辨率的屏幕。Windows窗体不能很好地扩展内容,并且有各种各样的怪癖需要注意。如果可能的话,我会转向WPF,但是如果您真的需要继续使用Windows窗体,下面是您应该做的

  • 在主窗体上使用。当显示器的DPI高于默认的96(100%)时,它将缩放和重新定位控件以匹配您的设计。您也可以尝试
    AutoScaleMode.Font
    ,但如果使用默认字体以外的字体(Tahoma 8,25 pt或类似字体),则可能无法正常工作
  • 使用或使定位控件更容易。FlowLayoutPanel动态地水平或垂直放置控件。如果您熟悉WPF或Windows Phone开发,它基本上是一个
    StackPanel
    控件
  • 确保您的屏幕DPI为96(100%),并在整个开发过程中保持不变。您仍然必须确保在其他DPI上测试应用程序,以便具有不同设置的用户能够使用您的应用程序
以下是有关DPI缩放的更多信息:


编辑:Visual Studio的Windows窗体设计器使用与Windows版本不同的主题显示窗体,这就是窗体在运行时看起来不同的原因之一。在运行时,表单使用当前运行应用程序的操作系统的主题。

看起来您正在使用相当高分辨率的屏幕。Windows窗体不能很好地扩展内容,并且有各种各样的怪癖需要注意。如果可能的话,我会转向WPF,但是如果您真的需要继续使用Windows窗体,下面是您应该做的

  • 在主窗体上使用。当显示器的DPI高于默认的96(100%)时,它将缩放和重新定位控件以匹配您的设计。您也可以尝试
    AutoScaleMode.Font
    ,但如果使用默认字体以外的字体(Tahoma 8,25 pt或类似字体),则可能无法正常工作
  • 使用或使定位控件更容易。FlowLayoutPanel动态地水平或垂直放置控件。如果您熟悉WPF或Windows Phone开发,它基本上是一个
    StackPanel
    控件
  • 确保您的屏幕DPI为96(100%),并在整个开发过程中保持不变。您仍然必须确保在其他DPI上测试应用程序,以便具有不同设置的用户能够使用您的应用程序
以下是有关DPI缩放的更多信息:



编辑:Visual Studio的Windows窗体设计器使用与Windows版本不同的主题显示窗体,这就是窗体在运行时看起来不同的原因之一。在运行时,表单使用当前运行应用程序的操作系统的主题。

属性窗口(F4)中的大小是多少?1189、895和最小大小1189、895是否在代码中调整其大小?同时检查formborderstyle属性操作所有尺寸和铺层均在属性窗口中进行属性窗口(F4)中的尺寸编号是多少?1189、895和最小尺寸1189、895是否在代码中调整尺寸?此外,请检查formborderstyle属性操作所有大小和布局都是在属性窗口中进行的我发现,使用TableLayoutPanel或FlowLayoutPanel在计算机上以不同于最初创建位置的分辨率打开项目时,会在设计时弄乱表单。在运行时,表单再次正常,但在设计时,它看起来非常难看。我通过使用大量普通面板和dock属性(不是锚!)解决了这个问题。它需要更多的工作,是的,这是它的老学校,但它worked@GuidoG你说得对,Windows窗体应用程序确实可以给你带来一些惊喜,这就是其中之一。我想OP的好处在于,有很多方法可以尝试纠正这种情况,但由于支持的Windows版本和不同的显示器种类繁多,很难找到适用于任何地方的完美解决方案。幸运的是我们有WPF!Hankide是的,有WPF,但我正在维护一个有50多个表单和MDI要求的项目。在这些情况下,WPF实际上没有多大用处。除非它最终进化了,否则我从2013年起就没有看过它了?好的,谢谢你的输入!我试试看。遗憾的是,我很想使用WPF,但因为这是一个学校项目,windows窗体是必须的use@GuidoG在那个项目中切换到WPF肯定会有很多工作要做。WPF仍然不支持现成的MDI表单,但有一些商业和开源实现可用。我真的很喜欢MVVM和数据操作的简易性(我有一个应用程序,它大量使用了数百万行的DataGrid),这正是WPF所擅长的。我发现,在设计时使用TableLayoutPanel或FlowLayoutPanel在计算机上以不同于最初创建位置的分辨率打开项目时,可能会弄乱表单。在运行时,表单再次正常,但在设计时,它看起来非常难看。我通过使用大量普通面板和dock属性(不是锚!)解决了这个问题。它需要更多的工作,是的,这是它的老学校,但它worked@GuidoG你说得对,Windows窗体应用程序确实可以给你带来一些惊喜,这就是其中之一。我想是外卖