如何以编程方式移动使用Windows窗体设计器定义的控件

时间:2012-11-08 10:28:46

标签: c# winforms forms

我觉得这很奇怪。我有一个使用Forms Designer创建的屏幕(Windows窗体)。我现在想要以编程方式更改其中一个控件的宽度,即在运行时,根据某些或其他标准。

我的问题是我似乎无法做到这一点。我的方法是在执行表单类InitializeComponent()方法之后(例如在表单构造函数的末尾)为某个地方的Width属性分配一个新值。手表显示控件属性已更改,但随后显示的屏幕忽略新值并使用InitializeComponent()中指定的值。

我想做一些不可能的事吗?在后台是否有一些伏都教阻止了这个由Designer设计的控件,或者我只是以错误的方式进行操作?

4 个答案:

答案 0 :(得分:1)

检查Control.AutoSizeControl.Anchor属性。 专门:

  

Control.Anchor :获取或设置控件绑定到的容器的边缘,并确定如何使用其父控件调整控件的大小。

答案 1 :(得分:0)

如果控件是Label,请确保Autosize属性设置为false,否则.NET将调整控件大小以适应内容。

答案 2 :(得分:0)

您是否尝试过Invalidate方法?

答案 3 :(得分:0)

您是否尝试过处理表单加载和查看时的事件?像:this.Loaded + = MyLoadedEventHandler;在方法MyLoadEventHandler中调整宽度。 - Davio 2小时前

这就是诀窍。