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

 

 

posted @ 2014-07-14 20:38  Mirrorhanman  阅读(334)  评论(0编辑  收藏  举报