C# WinForm界面设计教程第12节——MenuStrip菜单

C# WinForm界面设计教程第12节——MenuStrip菜单,第1张

我是笑林新记,分享一下我使用C#的一些用法,希望对大家有帮助!

Visual Studio版本:Enterprise 2015

1、本节要点

本节课要讲的是菜单控件的使用,工具箱中有两种菜单MenuStrip和ContextMenuStrip,分别用于工具栏菜单和右键菜单。

2、MenuStrip菜单

首先是MenuStrip,这个从工具栏中拖过来默认就会紧贴最上面。

它可以有多级菜单,一级菜单像上图中的文件,编辑和编辑右边可以继续添加的的“请在此处键入”。二级菜单:编辑下面的编辑1和编辑1下面的继续新增。三级菜单:编辑1右侧的编辑1-1和它下面的继续新增。

双击菜单,可以自动添加菜单点击事件,右键属性中可以更改Name名称。我们来给菜单 “编辑1-1”添加事件

这里出现了事件名称含有中文,这个是没有关系的哈,更改的话,是更改属性中的Name即可。

我们来看一下运行结果:

3、ContextMenuStrip菜单

第二种就是ContextMenuStrip,同样也是拖过来就行,这个添加方式和MenuStrip是一样的,不同的是,这个添加完成后,页面是没有显示的,假如你发现刚添加好的菜单不见了,不要着急,在下面可以找到。

下面会有,你点击那个就会显示那个。如果你想将这个菜单用于右键显示的话,你要选中当前Form,右键打开属性,找到ContextMenuStrip属性,选择你要分配的菜单就可以了。

看一下运行效果:

需要补充的是,这个右键菜单也可以放在其它控件中,比如Panel、PictureBox等,只要这个控件有ContextMenuStrip属性就可以。

添加Checkbox菜单的步骤:

首先,我们在数据绑定的时候,需要设置Active列,绑定数据源的bool类型。

其次,使用itemFormatter,判断cellType是ColumnHeader列头的时候,通过cell.innerHtml给列头添加一个Checkbox。并且监听这个CheckBox的Click事件。

具体的实现方法,请参考下面的博客

http://blog.gcpowertools.com.cn/post/wijmo5-flexgrid-columnheader-checkbox.aspx

你可以先在设计器里手动添加,然后在Designer.cs里找到相应代码剪切过来就行,如下

private System.Windows.Forms.MenuStrip menuStrip1

private System.Windows.Forms.ToolStripMenuItem aAAToolStripMenuItem

private System.Windows.Forms.ToolStripMenuItem bBBToolStripMenuItem

private void button1_Click(object sender, EventArgs e)

{

this.menuStrip1 = new System.Windows.Forms.MenuStrip()

this.aAAToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem()

this.bBBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem()

//

// menuStrip1

//

this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {

this.aAAToolStripMenuItem})

this.menuStrip1.Location = new System.Drawing.Point(0, 0)

this.menuStrip1.Name = "menuStrip1"

this.menuStrip1.Size = new System.Drawing.Size(524, 24)

this.menuStrip1.TabIndex = 3

this.menuStrip1.Text = "menuStrip1"

//

// aAAToolStripMenuItem

//

this.aAAToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {

this.bBBToolStripMenuItem})

this.aAAToolStripMenuItem.Name = "aAAToolStripMenuItem"

this.aAAToolStripMenuItem.Size = new System.Drawing.Size(40, 20)

this.aAAToolStripMenuItem.Text = "AAA"

//

// bBBToolStripMenuItem

//

this.bBBToolStripMenuItem.Name = "bBBToolStripMenuItem"

this.bBBToolStripMenuItem.Size = new System.Drawing.Size(152, 22)

this.bBBToolStripMenuItem.Text = "BBB"

this.bBBToolStripMenuItem.Click += new System.EventHandler(this.bBBToolStripMenuItem_Click)

//

//Form1

//

this.Controls.Add(this.menuStrip1)

}

private void bBBToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show("BBB")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7913865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存