我想在运行时在 Windows 窗体窗体上删除和添加控件。问题是,该控件必须与另一个控件具有完全相同的大小、位置和 anchor 。
如果用户打开窗口并满足某个条件,我想删除旧控件并用另一个替换它。
所以,我尝试了这个:
RichTextBox InsideText = new RichTextBox();
InsideText.Location = InsideBox.Location;
InsideText.Size = InsideBox.Size;
Controls.Remove(InsideBox);
Controls.Add(InsideText);
但是,不出所料,它没有用。 InsideBox
未删除,InsideText
未添加。
我做错了什么?对此有更好的方法吗?
最佳答案
我建议更简单的方法是:
- 在正确的位置添加一个面板,并设置正确的 anchor 等。
- 在该面板内添加 control1 设置为完整的
Dock
- 只需删除 control1 并在该面板内添加 control2 并将其设置为 Dock。
然后所有尺寸等都由一个 Panel 完成,而不必到处复制。
关于c# - 在 Windows Forms 窗体上动态删除/添加控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3628289/