使用下拉菜单切换表单?
Posted
技术标签:
【中文标题】使用下拉菜单切换表单?【英文标题】:Switching forms with a Drop-Down menu? 【发布时间】:2020-10-14 15:05:31 【问题描述】:所以我不太擅长 C#,但我认为一个很酷的想法是通过下拉菜单来学习表单切换。我有以下代码可以切换形式,但变量是在错误的部分或其他地方声明的,因为即使指定了它们也会切换到错误的形式。即使 Builder 是下拉列表的选定索引,“Builder”也会打开“Pumper”选项卡。
if
(bunifuDropdown1.selectedIndex.ToString() == "Builder") ;
Decoder f4 = new Decoder();
Pumper f3 = new Pumper();
Builder f2 = new Builder();
f2.Show();
f3.Hide();
f4.Hide();
this.Hide();
if
(bunifuDropdown1.selectedIndex.ToString() == "Pumper") ;
f3.Show();
f2.Hide();
f4.Hide();
this.Hide();
我们将不胜感激。谢谢。
【问题讨论】:
您共享的代码无法编译。你能分享一个工作代码吗?bunifuDropdown1.selectedIndex
返回下拉列表中选择的项目编号。你应该使用bunifuDropdown1.selectedItem
您需要在多行 if
块周围使用括号 ....
。而且您需要删除 if
条件上的 ;
。如所写,您可以完全删除 if
语句而不改变代码的行为。
谢谢大家,我要去看看这个和 Chetan,这不是整个项目代码,但如果你想要它,我可以显示。
【参考方案1】:
我大致了解你想要什么,但说实话,我很懒惰写错误的代码来实现你的目标...... 我会马上告诉你——你有一个坏主意:)。因为您将在每个独立的表单中包含导航菜单,并且您需要考虑如何想出一个通用的数据对象(例如一个类),该对象将同时在所有表单中可用,并在执行列表中填写数据(也许它会帮助你“ApplicationContext 类”https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.applicationcontext?view=netframework-4.7.2)。
最好的方式,比如,做一个表格,放置“ComboBox”(ps,为什么需要第三方图形框架?...)对象(添加必要的元素),添加“ Panel”(或“TabControl”)到表单,并将必要块的显示链接到“ComboBox”数据更改事件。
例如:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
if ((string)comboBox1.SelectedItem == "1")
panel1.Visible = true;
panel2.Visible = false;
if ((string)comboBox1.SelectedItem == "2")
panel2.Visible = true;
panel1.Visible = false;
else
panel1.Visible = false;
panel2.Visible = false;
【讨论】:
我为其他窗体的 UI 使用第三方框架,但在普通 Windows 窗体中找不到下拉菜单。编辑:感谢您的提示/帮助,非常感谢。 :) Em...这不是普通的“组合框”吗? p.s.推荐amazon.com/Pro-NET-Core-Foundational-Programming/dp/1484257553以上是关于使用下拉菜单切换表单?的主要内容,如果未能解决你的问题,请参考以下文章