gpt4 book ai didi

c# - 如何在 C# 中使用组合框中的不同选项创建要显示和隐藏的动态面板?

转载 作者:太空狗 更新时间:2023-10-30 01:26:06 26 4
gpt4 key购买 nike

我想制作一个动态的 GUI,这意味着 GUI 会根据用户在组合框中所做的选择而改变。

例如,如果组合框由{English, Spanish, French}组成,则组合框底部的面板将根据选择更改其描述语言。

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

谁能详细告诉我如何在 Visual Studio 2005 C# 上实现这一点?

提前谢谢你。

最佳答案

我这里有这个确切的实现:http://nbug.codeplex.com/SourceControl/changeset/view/6081#107027它实现了一个 IPanelLoader(我的案例是 ISubmitPanel)接口(interface),并在组合框中加载与该面板同名的任何面板。基本上下载源代码并编译它并查看“Configurator”项目。有很多事情需要我花几页来解释,但已经有一个完整的例子。

在我的例子中,任何实现了 ISubmitPanel 接口(interface)的表单(在我的例子中是 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;
}
}

当然,这段代码应该以另一种形式运行,您希望将另一种形式加载到其中。

Dropdown to load panels

E-Mail panel loaded

编辑:源代码来自NBug项目。

关于c# - 如何在 C# 中使用组合框中的不同选项创建要显示和隐藏的动态面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5679086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com