Winform控件之菜单控件,工具栏控件和状态栏控件
菜单是用户获取应用程序中主要功能和实用程序的主要途径,如新建文件,打开文件等,这就需要用到菜单控件(MenuStrip)。工具栏另一种获取应用程序主要功能的常用方法,比起菜单要直观,这就需要用到工具栏控件(ToolStrip)。状态栏用于显示用户状态的简短信息,这就需要用到状态栏控件(StatusStrip)。
一,MenuStrip控件和ContenxMenuStrip控件
MenuStrip控件是由System.Windows.Forms.MenuStrip类提供的,取代了以前的MainMenu控件,是应用程序菜单结构的容器。在建立菜单时,要给MenuStrip控件添加ToolStripMenu对象,这个操作可在设置时完成,也可以在代码中完成。
ContenxMenuStrip控件是由System.Windows.Forms.ToolMenuStrip类提供的,它和MainMenu控件一样,也是ToolStripMenu对象的容器,用来创建窗体的右击显示的菜单。它和MainMenu控件的主要事件就是响应Click事件。
实例:演示MenuStrip控件和ContenxMenuStrip控件的使用
(1)在窗体中添加衣蛾MenuStrip控件和一个ContenxMenuStrip控件,单击窗体上的MenuStrip控件,写入“文件”,一个”文件“菜单就创建好了。
(2)双击“文件”生成Click事件,在事件中加入MessageBox的Show方法提示用户响应了Click事件,代码为:
<span style="font-size:18px;"> private void 文件ToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("我响应了Click事件"); }</span>
(3)选择ContenxMenuStrip控件,在设计时创建三个ToolStripMenu对象,它们的Text属性设置为“复制”,“剪切”,“粘贴”,将窗体的MainStrip属性设置为MenuStrip1,ContenxMenuStrip属性设置为ContenxMenuStrip1。
完整的窗体代码为:
<span style="font-size:18px;">using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void 文件ToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("我响应了Click事件"); } } } </span>
运行窗体的结果为:
右击窗体会出现有三个ToolStripMenu对象ContenxMenuStrip控件
二,ToolStrip控件
ToolStrip控件是由由System.Windows.Forms.ToolStrip类提供的,作用是创建易于自定义的常用工具栏,让这些工具栏支持高级用户界面和布局功能,如停靠,漂浮,带文本和图像的按钮及下拉按钮等。
ToolStrip控件的属性管理着控件的显示位置和显示方式,是MenuStrip控件的基础,ToolStrip控件常用的属性:
在ToolStrip可以使用许多控件:
实例:演示ToolStrip控件的使用
(1)在窗体上添加一个ToolStrip控件,鼠标单击图标后面的下拉箭头,选择Button,将在ToolStrip控件上添加一个ToolStripButton,重复上面的操作,分别选择Labelhe和DropDownButton,向ToolStrip控件添加ToolStripLabel和ToolStripDropDownButton。
(2)将ToolStripButton的Text属性设置为“保存”,将ToolStripLabel的Text属性设置为“字体”将ToolStripDropDownButton下面添加三项:添加,更改和删除。
(3)选择ToolStripButton,从事件面板中选择Click事件,加入提示代码:
<span style="font-size:18px;"> private void toolStripButton1_Click(object sender, EventArgs e) { MessageBox.Show("你点击了保存"); }</span>
完整的窗体代码为:
<span style="font-size:18px;">using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void toolStripButton1_Click(object sender, EventArgs e) { MessageBox.Show("你点击了保存"); } } }</span>
运行窗体的结果为:
三,StatuStrip控件
StatuStrip控件是由由System.Windows.Forms.StatuStrip类提供的,作用是在应用程序中表示对话框底部的一栏,通常用于显示应用程序当前状态的简单信息。
在StatusStrip中可以使用ToolStrip中介绍的控件中的三个ToolStripDropDownButton,ToolStripProgressBar和ToolStripSplitButton。还有一个控件时StatusStrip专用的,即StatusStripStatusLabel,作用就是文本和图像向用户显示应用程序当前状态的信息。
实例:演示StatusStrip控件,用于提示TextBox控件中的总行数
(1)在窗体中加入一个TextBox控件,将其Multiline属性设置为true,设置其Size属性为268*231.
(2)向窗体中加入一个StatusStrip控件,加入同一个StatusStripStatusLabel控件,将其Text属性设置为空,双击TextBox控件生成TextChanged事件,在事件中添加在TextBox控件行显示光标的代码为:
<span style="font-size:18px;">private void textBox1_TextChanged(object sender, EventArgs e) { statusStrip1.Items[0].Text = "行:"+textBox1.Lines.Length.ToString(); }</span>
完整的窗体代码为:
<span style="font-size:18px;">using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void textBox1_TextChanged(object sender, EventArgs e) { statusStrip1.Items[0].Text = "行:"+textBox1.Lines.Length.ToString(); } } } </span>
向TextBox控件中输入一些东西,运行的结果为: