C# 为什么在编译时更改Textbox.MaximumSize值?
我有一个用户控件,里面有一个文本框。 我需要最大尺寸为267,0的文本框。 出于某种原因,如果我编译项目,该值设置为267,4。这打破了我用来调整其高度大小以响应文本版本的代码。C# 为什么在编译时更改Textbox.MaximumSize值?,c#,winforms,textbox,height,C#,Winforms,Textbox,Height,我有一个用户控件,里面有一个文本框。 我需要最大尺寸为267,0的文本框。 出于某种原因,如果我编译项目,该值设置为267,4。这打破了我用来调整其高度大小以响应文本版本的代码。 有人曾经面对过这个问题吗?原因可能是什么?您必须设置文本框。自动将设置为'false'(您不会在属性窗口中看到它,Intellience不会显示它,但它就在那里)。否则,文本框将一直忽略MaximumSize的高度部分。调整大小可能有几个原因。我能想到两个: 尝试禁用该属性: textBox1.AutoSize = f
有人曾经面对过这个问题吗?原因可能是什么?您必须设置文本框。自动将设置为'false'(您不会在属性窗口中看到它,Intellience不会显示它,但它就在那里)。否则,文本框将一直忽略MaximumSize的高度部分。调整大小可能有几个原因。我能想到两个: 尝试禁用该属性:
textBox1.AutoSize = false;
textBox1.Height = 0;
检查锚固件。如果将
TextBox
锚定到其容器(即用户控件)的顶部和底部,并且该容器已调整大小,则TextBox
也将调整大小。IfTextBox.MaximumSize
在设计时为267,0,似乎TextBox.Border
对运行时值的影响如下:
如果None,则文本框的最大大小为267,0。
如果FixedSingle,则文本框的最大大小为267,2。
如果Fixed3D,则TextBox.MaximumSize
为267,4。4英寸的高度可能是TextBox
的非客户区(用阴影绘制边框)。尽量避免以这种方式布局或调整大小。在winforms中,您可以使用TableLayoutPanel
和FlowLayoutPanel
。尝试禁用TextBox
上的AutoSize
属性:textBox1.AutoSize=false代码>