Winform控件之菜单控件,工具栏控件和状态栏控件

       菜单是用户获取应用程序中主要功能和实用程序的主要途径,如新建文件,打开文件等,这就须要用到菜单控件(MenuStrip)。工具栏另外一种获取应用程序主要功能的经常使用方法,比起菜单要直观,这就须要用到工具栏控件(ToolStrip)。状态栏用于显示用户状态的简短信息,这就须要用到状态栏控件(StatusStrip)。工具

       一,MenuStrip控件和ContenxMenuStrip控件布局

       MenuStrip控件是由System.Windows.Forms.MenuStrip类提供的,取代了之前的MainMenu控件,是应用程序菜单结构的容器。在创建菜单时,要给MenuStrip控件添加ToolStripMenu对象,这个操做可在设置时完成,也能够在代码中完成。字体

      ContenxMenuStrip控件是由System.Windows.Forms.ToolMenuStrip类提供的,它和MainMenu控件同样,也是ToolStripMenu对象的容器,用来建立窗体的右击显示的菜单。它和MainMenu控件的主要事件就是响应Click事件。spa

       实例:演示MenuStrip控件和ContenxMenuStrip控件的使用设计

       (1)在窗体中添加衣蛾MenuStrip控件和一个ContenxMenuStrip控件,单击窗体上的MenuStrip控件,写入“文件”,一个”文件“菜单就建立好了。3d

       (2)双击“文件”生成Click事件,在事件中加入MessageBox的Show方法提示用户响应了Click事件,代码为:code

<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。
           完整的窗体代码为:orm

<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控件blog

       二,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控件中输入一些东西,运行的结果为: