Windows窗体的高级功能
使用上一篇介绍的控件就可以创建界面十分友好的对话框,
但Windows应用程序的用户界面很少只包含一个对话框.这些应用程序使用单一文档界面(Single Document Interface,SDI)
或者多文档界面(Multiple Document Interface,MDI).
1.使用MenuStrip控件
填充菜单3个常见控件:ToolStripMenuItem, ToolStripDropDown和ToolStripSeparator
ToolStripMenuItem表示菜单中的一项, ToolStripDropDown表示单击一项就会显示包含其他项目的一个列表, ToolStripDropDown表示菜单栏的水平或垂直分隔线
从ToolBox中拖出MenuStrip控件, 在Type Here中填入需要的菜单即可, 在需要加快捷键的菜单项之前加&则可以首字母加下划线,
还可以在Type Here输入-短横来做ToolStripSeparator
选择需要加快捷键的菜单项, 在Property中的ShortCutKeys属性中加入即可
1.1 菜单栏的属性
1.2菜单添加功能
大致有两种事件处理:
Clicked 单击菜单项, 引发该事件
CheckedChanged 单击带CheckOnClick属性的菜单项, 引发该事件
1.3实例
在Format中加入Show Help Menu菜单项, 将Checked属性选择true, 则前面出现对勾. 将CheckChanged属性也选true
选中Show Help Item, 点击Property中的闪电图标, 双击CheckChanged事件, 添加代代码
1 private void showHelpMenuToolStripMenuItem_CheckedChanged(object sender, EventArgs e) 2 { 3 ToolStripMenuItem item = (ToolStripMenuItem)sender; 4 helpToolStripMenuItem.Visible = item.Checked; 5 }
运行如下
点击Show Help Item, Help菜单消失
在Save和Open上双击添加代码
1 private void newToolStripMenuItem_Click(object sender, EventArgs e) 2 { 3 richTextBox1.Text = ""; 4 } 5 6 private void openToolStripMenuItem_Click(object sender, EventArgs e) 7 { 8 try 9 { 10 richTextBox1.LoadFile(@"Example.rtf"); 11 } 12 catch { } 13 } 14 15 private void saveToolStripMenuItem_Click(object sender, EventArgs e) 16 { 17 try 18 { 19 richTextBox1.SaveFile(@"Example.rtf"); 20 } 21 catch { } 22 }
在文本框中输入文字, 选择Save, 在bin--Debug文件夹中就会有Example.rtf
2. 工具栏
ToolStrip
3. StatusStrip控件
Strip控件最后一个控件是StatusStrip. 常用在对话框底部一栏, 显示应用程序当前简短信息. 如Word中的当前页码、行、列信息等
4. SDI 和 MDI