C#:交换 winform 控件的正确方法是什么?

Wil*_*iam 5 c# controls winforms

当触发某些事件时,将一个 winform 元素替换为另一个元素的正确方法是什么?例如,我想用相同位置和相同尺寸的文本框替换按钮。

Ed *_* S. 2

如果您(出于某种原因)不想简单地更改它们的可见性,则可以在表单的控件集合中添加和删除它们。

// contrived example...
private void Swap( Control toAdd, Control toRemove )
{
    this.Controls.Remove( toRemove );
    this.Controls.Add( toAdd );
}
Run Code Online (Sandbox Code Playgroud)