使用下拉菜单切换表单?
Switching forms with a Drop-Down menu?
所以我不是很擅长 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();
不胜感激。谢谢
我大概明白你想要什么,但是说实话,我很懒得写错误的代码来达到你的目的......
我会马上告诉你 - 你有一个坏主意 :)。因为您将在每个独立的表单中包含导航菜单,您需要考虑如何提出一个通用数据对象(例如 class),该对象将同时在所有表单中可用,并在其中填写数据执行列表(也许它会帮助你“ApplicationContext Class”https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.applicationcontext?view=netframework-4.7.2)。
最优的方式,比如做一个窗体,放置“ComboBox”(p.s。还有为什么需要第三方图形框架?...)对象(添加必要的元素),将“Panel”(或“TabControl”)添加到表单,并且link将必要的块显示到“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;
}
}
所以我不是很擅长 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();
不胜感激。谢谢
我大概明白你想要什么,但是说实话,我很懒得写错误的代码来达到你的目的...... 我会马上告诉你 - 你有一个坏主意 :)。因为您将在每个独立的表单中包含导航菜单,您需要考虑如何提出一个通用数据对象(例如 class),该对象将同时在所有表单中可用,并在其中填写数据执行列表(也许它会帮助你“ApplicationContext Class”https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.applicationcontext?view=netframework-4.7.2)。
最优的方式,比如做一个窗体,放置“ComboBox”(p.s。还有为什么需要第三方图形框架?...)对象(添加必要的元素),将“Panel”(或“TabControl”)添加到表单,并且link将必要的块显示到“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;
}
}