首页 > 代码库 > 0922 多窗体,菜单和工具栏
0922 多窗体,菜单和工具栏
多窗体
这里所谓的多窗体就是我们所说的打开一个窗体后,从这个窗体打开另一个窗体,打开的窗体只能打开一个,当再次点击时会把焦点移入打开的新窗体
1. 首先我们先定义一个泛型集合来存放打开的窗体,来判断是否打开过这个窗体
List<Form> Flist = new List<Form>();
2.在主窗体的按钮上写方法
bool has = false;//用来判断是否打开过第二个窗体
Form2 f2 = new Form2(this);//将这个窗体传入第二个窗体实现第二窗体关闭时清楚集合,代码在第3步骤
foreach (Form F in Flist)
{
if (F.Name == f2.Name)//遍历查看集合是否有第二个窗体
{
has = true;
F.WindowState = FormWindowState.Normal;//最小化放到正常大小
F.Focus();
}
}
if (has)
{
f2.Close();
}
else
{
Flist.Add(f2);
f2.Show();
}
}
//第三步需要调用的函数
Flist.Remove(F);
3. 第二窗体关闭时清楚集合
Form1 F1 = null;//传值进来
public Form2(Form1 f1)
{
InitializeComponent();
F1 = f1;
}
//关闭调用清除方法
if (F1 != null)
public Form2(Form1 f1)
{
InitializeComponent();
F1 = f1;
}
菜单和工具栏
1.ContextMenuStrip-右击菜单
用于放置右击时出现的菜单
2.MenuStrip-菜单
不管什么窗体在上部一般都会有菜单栏,创建时右击会出现"插入标准项"快速建菜单
菜单属性ShortcutKeys-快捷键
3.StatusStrip-工具栏
4.ToolStrip-工具栏
我感觉3和4没什么区别
5.ToolStripContainer-放置工具栏的容器
0922 多窗体,菜单和工具栏