记录:我的菜单栏(一)

j_0001.gif

菜单栏分为主菜单和上下文菜单。主菜单每个页面只有一个,而上下文菜单则不同,可以有很多个。上下文菜单就是当鼠标移向该控件并点击鼠标右键的时候会弹出一个菜单栏,这样的菜单栏叫做上下文菜单栏。

菜单栏的制作其实也不太难,就是菜单和工具栏里面的一个MenuStrip控件,这个控件的属性也不是很多,逐个试试就知道了。这种事不自己尝试,怎么能知道的那么清楚呢?在摸索中前进嘛!猜猜蒙蒙碰碰撞撞也就出来了。

123811653.png

这个就是一个简单的菜单栏。上下文菜单栏需要拖入另外一个控件:ContextMenuStrip.然后再一一设置它的属性。主要就是设置这些控件下子菜单项的作用:

//设置菜单中的保存的作用
 private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     //提示用户是否保存,并根据用户的选择继续执行
     DialogResult dr = MessageBox.Show("是否保存修改?", "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
     if (dr == DialogResult.Yes)
     {
         MessageBox.Show("保存");
     }
     else if (dr == DialogResult.No)
     {
         MessageBox.Show("未保存");
     }
     else
     {
         MessageBox.Show("取消操作");
     }
 }
 private void 退出XToolStripMenuItem_Click(object sender, EventArgs e)
 {
     this.Close();
 }
 //设置上下文菜单中最大化最小化的的事件
 private void 最大化ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     this.WindowState = FormWindowState.Maximized;
 }
 private void 最小化ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     this.WindowState = FormWindowState.Minimized;
 }
 private void 保存ToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     保存ToolStripMenuItem_Click(sender, e);
 }
 private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     退出XToolStripMenuItem_Click(sender, e);
 }
 /// <summary>
 /// 无论是最小化还是最大化,只要改变窗口的大小都会触发的是Resize事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Form1_Resize(object sender, EventArgs e)
 {
     //如果窗口的状态是最小化,那么将托盘图标显示出来,同时将窗体隐藏起来
     if (this.WindowState == FormWindowState.Minimized)
     {
         notifyIcon1.Visible = true;
         this.Visible = false;
     }
     else
     {
         notifyIcon1.Visible = false;
     }
 }
 private void notifyIcon1_DoubleClick(object sender, EventArgs e)
 {
     this.Visible = true;
     this.WindowState = FormWindowState.Normal;
     this.Activate();
     notifyIcon1.Visible = false;
 }     
 /// <summary>
 /// “鼠标双击事件”分左右键。“双击事件”不分左右键
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
 {
     //如果双击的是鼠标左键就执行以下操作
     if (e.Button == MouseButtons.Left)
     {
         //使窗体可见
         this.Visible = true;
         //设置窗体的状态为正常
         this.WindowState = FormWindowState.Normal;
         //让窗体获得焦点
         this.Activate();
         //隐藏托盘图标
         notifyIcon1.Visible = false;
     }
 }
 private void 退出ToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     //退出应用程序
     Application.Exit();
 }
 private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     //让上“下文菜单”中的选项实现“显示”事件
     notifyIcon1_DoubleClick(sender,e);
 }

一些个小问题也说说吧。托盘控件,就是为当前窗体在桌面底下显示一个图像,用来更方便用户的操作。

P.S:窗体的几个常用

属性:

topmost -->使窗体保持在前端

WindowState -->指示窗体的状态(最大化,最小化,正常)

事件:

Load-->窗体在显示之前最后一个被触发的事件。我们一般在这个事件对唱提上的控件赋值,初始化。

activated -->窗体被激活是发生。

Deactivate -->窗体被停用是发生。

formclosing -->窗体进入关闭流程前触发事件。

Resize -->改变窗口大小的时候触发。

方法:

close -->关闭窗口(也可以用Application.Exit()--关闭应用程序)

show -->显示一个非模态窗口。

showDialog -->显示一个模态窗口。

Hide -->隐藏窗口。(几乎所有窗体/按钮都有这个方法)

Focus -->获得焦点。

selectedAll -->全部选中。

j_0047.gif

Ajax的姑娘,加油!

j_0047.gif


本文出自 “Ajax的姑娘” 博客,谢绝转载!

你可能感兴趣的:(菜单栏,工具栏,上下文)