Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C中组合框中的差异选项创建要显示和隐藏的动态面板?_C#_User Interface_Combobox_Panel_Nbug - Fatal编程技术网

C# 如何使用C中组合框中的差异选项创建要显示和隐藏的动态面板?

C# 如何使用C中组合框中的差异选项创建要显示和隐藏的动态面板?,c#,user-interface,combobox,panel,nbug,C#,User Interface,Combobox,Panel,Nbug,我想制作一个动态的GUI,这意味着GUI将根据用户在组合框上的选择而变化 例如,如果组合框由{英语、西班牙语、法语}组成,则组合框底部的面板将根据选择更改其描述语言 要做到这一点,我相信我必须做一些事情,如清除面板,然后重新绘制面板,但我不知道如何 有人能告诉我如何在VisualStudio2005C上详细实现这一点吗 提前感谢。我这里有一个确切的实现:它为我的案例界面实现了一个iPannelLoader ISubmitPanel,并在组合框中加载与之同名的任何面板。基本上下载源代码并编译,然后

我想制作一个动态的GUI,这意味着GUI将根据用户在组合框上的选择而变化

例如,如果组合框由{英语、西班牙语、法语}组成,则组合框底部的面板将根据选择更改其描述语言

要做到这一点,我相信我必须做一些事情,如清除面板,然后重新绘制面板,但我不知道如何

有人能告诉我如何在VisualStudio2005C上详细实现这一点吗


提前感谢。

我这里有一个确切的实现:它为我的案例界面实现了一个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%准确,但我相信您会找到解决方法,因为类和文件始终保持在原来的位置,并且命名方案非常清晰。