0

我不确定这是否可以做到,但我想知道是否有可能以编程方式完全改变表单上的控件,类似于安装程序发生的情况;当您单击下一个按钮时,表单不会隐藏或关闭并打开下一个表单,它会加载一组不同的控件(至少,它是这样显示的)。

是否可以在 Visual Studio 中使用 C# 执行此操作?还是必须使用选项卡或隐藏面板?

4

2 回答 2

1

我认为您正在寻找的是 UserControl。UserControl 就像一个表单,您可以将它用作其他控件的容器。你可以在这里找到一个演练。

对于您提到的安装程序或一般的向导,您可以为每个步骤设计不同的用户控件,并将它们中的每一个加载到表单的保留区域中。保留区域可以是面板。例如,假设您有一个按钮,它调用一个以向导步骤号作为参数的方法:

UserControl _step1Control = new UcStep1Control;
UserControl _step2Control = new UcStep2Control;
private void SetStep(int stepNumber)
{
    panel1.Controls.Clear();
    switch(stepNumber)
    {
        case 1:
            panel.Controls.Add(_step1Control);
            break;
        case 2:
            panel1.Controls.Add(_step2Control);
            break;
        default:
            break;
      }
}
于 2012-10-07T11:59:04.993 回答
1

是的,您可以以编程方式对控件执行任何操作。您使用的设计器还会在后台生成 C# 代码。

为了向表单中添加新控件,您使用Form.Controls.Add(Control c)方法。可以使用任何继承自Control( Button,ListBox等) 的类。要删除它,请使用Remove方法而不是Add.

于 2012-10-07T10:54:06.590 回答