日期:2014-05-18  浏览次数:20932 次

通过Assembly来动态加载DLL的控件的Anchor设置不起作用?(满分求解)
自定义控件生成的dll
winform中通过Assembly来动态加载该dll并显示
control.Anchor = AnchorStyles.Right| AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Bottom;
form.Controls.Add(control);

Anchor设置了上下左右不起作用,但是单独设置一个例如右是有效的,,
如果在一个项目中form直接add这个自定义控件,不是通过dll,这样设置是起作用的。

请达人不吝赐教啊~



------解决方案--------------------
这样试试 

control.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
------解决方案--------------------
一个不可能的现象被楼主发现了,建议你单步调试下,看看那个属性是否设置上去了,是否有在最后被改回来了(设置一个按钮点击,输出下最终那个属性的值)
------解决方案--------------------
探讨

引用:

这样试试

control.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.Anc……


这……

------解决方案--------------------
control.Dock = System.Windows.Forms.DockStyle.Fill;