我觉得这很奇怪。我有一个使用Forms Designer创建的屏幕(Windows窗体)。我现在想要以编程方式更改其中一个控件的宽度,即在运行时,根据某些或其他标准。
我的问题是我似乎无法做到这一点。我的方法是在执行表单类InitializeComponent()方法之后(例如在表单构造函数的末尾)为某个地方的Width属性分配一个新值。手表显示控件属性已更改,但随后显示的屏幕忽略新值并使用InitializeComponent()中指定的值。
我想做一些不可能的事吗?在后台是否有一些伏都教阻止了这个由Designer设计的控件,或者我只是以错误的方式进行操作?
答案 0 :(得分:1)
检查Control.AutoSize
和Control.Anchor
属性。
专门:
Control.Anchor
:获取或设置控件绑定到的容器的边缘,并确定如何使用其父控件调整控件的大小。
答案 1 :(得分:0)
如果控件是Label
,请确保Autosize
属性设置为false,否则.NET将调整控件大小以适应内容。
答案 2 :(得分:0)
您是否尝试过Invalidate
方法?
答案 3 :(得分:0)
您是否尝试过处理表单加载和查看时的事件?像:this.Loaded + = MyLoadedEventHandler;在方法MyLoadEventHandler中调整宽度。 - Davio 2小时前
这就是诀窍。