C# 如何使用C中组合框中的差异选项创建要显示和隐藏的动态面板?
我想制作一个动态的GUI,这意味着GUI将根据用户在组合框上的选择而变化 例如,如果组合框由{英语、西班牙语、法语}组成,则组合框底部的面板将根据选择更改其描述语言 要做到这一点,我相信我必须做一些事情,如清除面板,然后重新绘制面板,但我不知道如何 有人能告诉我如何在VisualStudio2005C上详细实现这一点吗C# 如何使用C中组合框中的差异选项创建要显示和隐藏的动态面板?,c#,user-interface,combobox,panel,nbug,C#,User Interface,Combobox,Panel,Nbug,我想制作一个动态的GUI,这意味着GUI将根据用户在组合框上的选择而变化 例如,如果组合框由{英语、西班牙语、法语}组成,则组合框底部的面板将根据选择更改其描述语言 要做到这一点,我相信我必须做一些事情,如清除面板,然后重新绘制面板,但我不知道如何 有人能告诉我如何在VisualStudio2005C上详细实现这一点吗 提前感谢。我这里有一个确切的实现:它为我的案例界面实现了一个iPannelLoader ISubmitPanel,并在组合框中加载与之同名的任何面板。基本上下载源代码并编译,然后
提前感谢。我这里有一个确切的实现:它为我的案例界面实现了一个iPannelLoader ISubmitPanel,并在组合框中加载与之同名的任何面板。基本上下载源代码并编译,然后看看Configurator项目。有很多事情需要我花上好几页来解释,但已经有一个完整的例子了 在我的例子中,任何实现ISubmitPanel接口MailForm、FtpForm等的表单都可以这样加载:
private void SubmitComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch (this.submitComboBox.SelectedItem.ToString())
{
case "E-Mail":
this.Controls.Add(new MailForm());
break;
case "FTP":
this.Controls.Add(new FtpForm());
break;
case "HTTP":
this.Controls.Add(new HttpForm());
break;
}
}
当然,这段代码应该在另一个表单中运行,您希望将另一个表单加载到其中
编辑:源代码来自project。面板中有什么?我制作了一个窗口窗体,其中包含一个带有组合框的面板。在面板内部,它有一个组合框,你可以从3种语言中选择,在它下面有另一个面板,可以选择,我想根据用户选择的语言更改面板。我想我看错了问题,你的答案比我的好得多。难以置信。这对我很有帮助,谢谢!在我阅读了你的代码后,我会让你知道,看看我是否理解了所有代码:请注意,源代码正在快速变化,因此,在我的示例中,命名可能不像我将MailForm更改为Web.Mail那样100%准确,但我相信您会找到解决方法,因为类和文件始终保持在原来的位置,并且命名方案非常清晰。