网站首页 > 技术文章 正文
摘要
MenuStrip 控件是在 .NET Framework 版本 2.0 中引入的。 可以通过 MenuStrip 控件,轻松创建像 Microsoft Office 中的菜单。
MenuStrip 控件支持多文档界面 (MDI) 和菜单合并、工具提示和溢出。 开发人员可以通过添加访问键、快捷键、复选标记、图像和菜单分隔符来增强菜单的可用性和可读性。
正文
属性
GripDisplayStyle | 获取 ToolStrip 移动手柄的方向。 |
GripMargin | 获取或设置 ToolStrip 移动手柄周围的空间。 |
GripRectangle | 获取 ToolStrip 移动手柄的边界 |
GripStyle | 获取或设置用作重新定位控件的手柄的可见性。 |
Items | 获取属于 ToolStrip 的所有项 |
Orientation | 获取 ToolStripPanel 的方向 |
OverflowButton | 获取 ToolStripItem,它是启用了溢出的 ToolStrip 的“溢出”按钮 |
ShowItemToolTips | 获取或设置一个值,该值指示是否显示 MenuStrip 的工具提示。 |
手动布局MenuStrip菜单控件
手动添加Item项
设置快捷键
给菜单项设置图标
按Ctrl+1显示
private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("关闭");
}
ToolStripMenuItem
Checked | 获取或设置一个值,该值指示是否选中 ToolStripMenuItem。 |
CheckOnClick | 获取或设置一个值,该值指示 ToolStripMenuItem 是否应在被单击时自动显示为选中或未选中。 |
CheckState | 获取或设置一个值,该值指示 ToolStripMenuItem 处于选中、未选中还是不确定状态。 |
Image | 获取或设置显示在 ToolStripItem 上的图像 |
ImageAlign | 获取或设置 ToolStripItem 上的图像对齐方式 |
ImageIndex | 获取或设置在该项上显示的图像的索引值 |
ImageKey | 获取或设置显示在 ImageList 上的 ToolStripItem 中图像的键访问器。 |
ImageScaling | 获取或设置一个值,该值指示是否根据容器自动调整 ToolStripItem 上图像的大小。 |
ImageTransparentColor | 获取或设置 ToolStripItem 图像中被视为透明的颜色。 |
IsMdiWindowListEntry | 获取一个值,该值指示 ToolStripMenuItem 是否显示在多文档界面 (MDI) 窗口列表中。 |
Mdi窗口中应用
namespace _66
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.IsMdiContainer = true;
//创建四个工具栏容器
ToolStripPanel tspTop = new ToolStripPanel();
ToolStripPanel tspBottom = new ToolStripPanel();
ToolStripPanel tspLeft = new ToolStripPanel();
ToolStripPanel tspRight = new ToolStripPanel();
//工具栏容器布局
tspTop.Dock = DockStyle.Top;
tspBottom.Dock = DockStyle.Bottom;
tspLeft.Dock = DockStyle.Left;
tspRight.Dock = DockStyle.Right;
//添加上工具栏
ToolStrip tsTop = new ToolStrip();
tsTop.Items.Add("Top");
tspTop.Join(tsTop);
//添加下工具栏
ToolStrip tsBottom = new ToolStrip();
tsBottom.Items.Add("Bottom");
tspBottom.Join(tsBottom);
//添加右工具栏
ToolStrip tsRight = new ToolStrip();
tsRight.Items.Add("Right");
tspRight.Join(tsRight);
//添加左工具栏
ToolStrip tsLeft = new ToolStrip();
tsLeft.Items.Add("Left");
tspLeft.Join(tsLeft);
//创建主菜单
MenuStrip ms = new MenuStrip();
ToolStripMenuItem windowMenu = new ToolStripMenuItem("Window");
ToolStripMenuItem windowNewMenu =
new ToolStripMenuItem("New", null, new EventHandler(windowNewMenu_Click));
windowMenu.DropDownItems.Add(windowNewMenu);
((ToolStripDropDownMenu)(windowMenu.DropDown)).ShowImageMargin = false;
((ToolStripDropDownMenu)(windowMenu.DropDown)).ShowCheckMargin = true;
//指定Mdi窗体显示WindowMenu子菜单
ms.MdiWindowListItem = windowMenu;
//将windowsMenu添加到主菜单
ms.Items.Add(windowMenu);
//主菜单Dock到最上面
ms.Dock = DockStyle.Top;
//将窗口主菜单指定为ms菜单
this.MainMenuStrip = ms;
//窗体添加上下左右工具栏容器
this.Controls.Add(tspRight);
this.Controls.Add(tspLeft);
this.Controls.Add(tspBottom);
this.Controls.Add(tspTop);
//窗体添加主菜单控件
//这里添加顺序非常重要,直接影响布局
this.Controls.Add(ms);
}
//点击新建,创建窗体
void windowNewMenu_Click(object sender, EventArgs e)
{
Form f = new Form();
f.MdiParent = this;
f.Text = "Form - " + this.MdiChildren.Length.ToString();
f.Show();
}
}
}
猜你喜欢
- 2025-07-06 JDK高版本特性总结与ZGC实践(jdk高版本会覆盖低版本吗)
- 2025-07-06 用好图形化批处理操作,让办公更高效
- 2025-07-06 电脑怎么压缩图片?怎么压缩图片大小?压缩图片大小的6种方法
- 2025-07-06 入门Python GUI编程:创建你的第一个窗口
- 2025-07-06 rhino6.0 python中ETO的组件案例(rhino help)
- 2025-07-06 苹果app怎么上架(如何上架苹果应用商店)
- 2025-07-06 初探谷歌安卓15新版桌面模式:可在平板上运行,自由调整窗口大小
- 2025-07-06 VBA技术资料MF189:字典嵌套与下拉菜单
- 2025-07-06 BlazorUI 组件库——反馈与弹层 (1)
- 2025-07-06 实用的 jQuery下拉选择框插件集合
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 532℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 495℃MySQL service启动脚本浅析(r12笔记第59天)
- 474℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 472℃启用MySQL查询缓存(mysql8.0查询缓存)
- 452℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 431℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 429℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)