我想在Windows窗体窗体上的运行时移除和添加控件。问题是,控件必须与另一个具有完全相同的大小,位置和锚点。动态移除/添加Windows窗体窗体上的控件
如果用户打开窗口并满足某个标准,我想删除旧的控件并将其替换为另一个控件。
所以,我尝试这样做:
RichTextBox InsideText = new RichTextBox();
InsideText.Location = InsideBox.Location;
InsideText.Size = InsideBox.Size;
Controls.Remove(InsideBox);
Controls.Add(InsideText);
但是,正如预期的,它没有工作。 InsideBox
未被删除,InsideText
未被添加。
我在做什么错?有没有更好的方法呢?
您是否检查过InsideText的Visible属性是否为真? – Jonathan 2010-09-02 14:51:02
这基本上是我如何做到这一点,它适用于我。从父控件的集合中删除控件时,它将消失。你确定要从正确的集合中删除它吗? – 2010-09-02 14:59:01
我不认为我曾经有动态创建/删除控件的问题。你确定可见是真的吗?你是否尝试过设置X和Y,宽度和高度,而不是使用大小和位置(我总是使用X,Y,宽度,高度,我认为的旧习惯),这是我能够想到的唯一区别和这个例子。如果还有其他我们可以看到的相关代码,可能会有所帮助。 – FrustratedWithFormsDesigner 2010-09-02 15:32:43