menustrip控件代码应用(MenuStrip控件的介绍)

本文目录
- MenuStrip控件的介绍
- C# MenuStrip控件如何向上弹出菜单(如图)如何选中某项时能加一个图标(见图)
- 有C# 使用contexmenustrip控件 改变窗体的颜色
- VS2005中menustrip控件如何实现tabcontrol功能
- 在窗体上添加一个“Menustrip”控件,并在菜单编辑器中建立名为“列表项”的主菜单在主菜单下添加两个子
- c#里menustrip控件 的菜单模块的属性修改问题(代码实现)
- MenuStrip控件中如何用代码的方式添加二级菜单,想在编辑菜单下添加子项,怎么添加
- C#一个contextMenuStrip控件在多个控件上使用的方法
MenuStrip控件的介绍
MenuStrip控件是Visual Studio中常用控件,是应用程序菜单结构的容器。
C# MenuStrip控件如何向上弹出菜单(如图)如何选中某项时能加一个图标(见图)
这就是普通的菜单,向上弹出,还是向下弹出,是操作系统自动判断的(根据可视的空间区域大小)
打勾,很简单,只要将菜单的 CheckOnClick 设为 True 就可以了
有C# 使用contexmenustrip控件 改变窗体的颜色
你这个的问题是,你的ClickMenuItem(object sender,EventArgs e)这个函数并没有和你的快捷菜单的项目关联起来。 换句话说,当你点击你的菜单选项的时候,没有走进这个函数里面。所以其实你的函数是对的。但是没执行。解决的办法是为每个选项建立和这个函数的关联 方法:1、选中contextMenuStrip12、打开设计器界面中的菜单,在菜单选项上点右键,属性。3、在事件(一个黄色闪电的图标)栏里,找到Click,点击下拉,选择你的这个函数。4、为4个选项都设置这样的关联。你的函数就会被执行了。 谢谢采纳
VS2005中menustrip控件如何实现tabcontrol功能
你可以用把Tabcontrol放在ToolStripControlHost这个容器里在把ToolStripControlHost作为Menustrip的菜单项放在Menustrip里,代码如下
//先在窗体上放一个menustrip添加一个菜单叫“娱乐”,不要改名默认的名就行,下面TabControl的代码是从设计器里拖出来的,你也可以自己写
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Test
{
public partial class Form10 : Form
{
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TabPage tabPage3;
public Form10()
{
InitializeComponent();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.tabPage3 = new System.Windows.Forms.TabPage();
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(300, 200);
this.tabControl1.TabIndex = 1;
//
// tabPage1
//
this.tabPage1.Location = new System.Drawing.Point(4, 21);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(192, 75);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "网络游戏";
this.tabPage1.UseVisualStyleBackColor = true;
//
// tabPage2
//
this.tabPage2.Location = new System.Drawing.Point(4, 21);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(192, 75);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "单机游戏";
this.tabPage2.UseVisualStyleBackColor = true;
//
// tabPage3
//
this.tabPage3.Location = new System.Drawing.Point(4, 21);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Size = new System.Drawing.Size(192, 75);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "聊天工具";
this.tabPage3.UseVisualStyleBackColor = true;
ToolStripControlHost tsch = new ToolStripControlHost(tabControl1);
tsch.Margin = tsch.Padding = 娱乐ToolStripMenuItem.Margin = 娱乐ToolStripMenuItem.Padding = Padding.Empty;
tsch.AutoSize = 娱乐ToolStripMenuItem.AutoSize = true;
娱乐ToolStripMenuItem.DropDown.Items.Add(tsch);
}
}
}
在窗体上添加一个“Menustrip”控件,并在菜单编辑器中建立名为“列表项”的主菜单在主菜单下添加两个子
如果不能添加重复项,如下
private void AddItem_Click(object sender, EventArgs e)
{
string addItem = textBox1.Text.Trim();
if (!string.IsNullOrEmpty(addItem) && !listBox1.Items.Contains(addItem))
{
listBox1.Items.Add(addItem);
}
}
private void RemoveItem_Click(object sender, EventArgs e)
{
string removeItem = textBox1.Text.Trim();
if (!string.IsNullOrEmpty(removeItem) && listBox1.Items.Contains(removeItem))
{
listBox1.Items.Remove(removeItem);
}
}
如果可以添加重复项,如下
添加:把AddItem_Click中!listBox1.Items.Contains(addItem)删了
删除:如果想一个一个删就不改,如果想一起删就改成:
private void RemoveItem_Click(object sender, EventArgs e)
{
string removeItem = textBox1.Text.Trim();
if (!string.IsNullOrEmpty(removeItem))
{
while (listBox1.Items.Contains(removeItem))
{
listBox1.Items.Remove(removeItem);
}
}
}
c#里menustrip控件 的菜单模块的属性修改问题(代码实现)
应该是可以实现的,一般情况下只要你能找到正确的Item,设置是可以实现的,但是在VS以前的版本中确实也会存在类似的问题,这种问题的原因是重绘导致的。按理说现在不会再出现 了。
我们知道,如果你的设置在菜单重绘之前,那么根据你设定的参数,会绘制你灰色或是可激活的两种情况的,但如果你的代码是发生在重绘之后,也就是说菜单重绘之后你才设定新值,而设定后并没有再对菜单进行重缓,那么这个菜单肯定会维持原来的绘制结果,并不能发生改变。
而且,你的改变只是改变了绘制中的enabled,而清除或是在其功能上做出相应的限制,所以还是能够引发事件的。举一个例子,你一个按钮一个菜单项,绑定的是同一个事件,即使你其中一个被禁用了,那么另一个还是可以被单击引发的。换句话来说,通过enabled只是隐藏了绑定事件,并不是真正地做出了权限配置!通过源码或是其他的方式,按样可以被完整的调用(事实其实也只是一个方法而已,无法sender中标注了事件源,如果该事件源被禁用,只是事件源中的一个属性被改变,并不能阻止调用)。
换句话来说,一般情况下我们在写事件时也会用,防止被调用:
if(sender == null) return;
// 如果没有事件源则不执行其他动作。
if(!(sender as control).Enabled) return;
// 如果事件源的enabled属性被置为false,则不执行。
这种情况下,即使重绘失效(也就是说你设定了false,但因为控件没有重绘仍然是可点击状态),点击后获得到false的值,也不会执行,两条语句就是以策安全。
至于重绘失效,我怀疑你要么是以前的版本(汗的是我也忘记了哪个版本了),要么是找错control了。
MenuStrip控件中如何用代码的方式添加二级菜单,想在编辑菜单下添加子项,怎么添加
数据源使用xml文件或站点地图
新建xml文件 格式如下:
《?xml version="1.0" encoding="utf-8" ?》
《myNode url="" title="管理员控制面板?" description=""》
《myNode url="" title="用户管理" description=""》
《myNode url="~\Admin\ListAllUsers.aspx" title="管理用户" description="" /》
《myNode url="~\Admin\UserStatue.aspx" title="状痢态管理" description="" /》
《/myNode》
《myNode url="" title="图书酣分类管理" description=""》
《myNode url="~\Admin\AddBookCategory.aspx" title="添加图书酣分类" description="" /》
《myNode url="~\Admin\ListBooksByCategory" title="为书酣籍分类" description="" /》
《/myNode》
《myNode url="" title="订单管理" description=""》
《myNode url="~\Admin\CheckOrders.aspx" title="审核订单" description="" /》
《/myNode》
《/myNode》
然后选择数据源 ,这个样就自可以了
C#一个contextMenuStrip控件在多个控件上使用的方法
这个需要动态生成,给你个思路:
每次需要用的时候创建
contextMenuStrip cms=new contextMenuStrip();添加一个右键菜单
cms.toolitemsstrip.add()-添加一个菜单选项
菜单选项.cilik+=function()--为菜单绑定单击事件方法
最后将cms对象和你的控件绑定 控件名.contextmenustrip=cms
具体的单词记不住,不好意思

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40






