Bol*_*ock 34 .net windows user-interface menubar winforms
我注意到MenuStrip
在我的表单设计中添加一个(从工具箱中)不会产生类似于许多本机Windows应用程序中看到的菜单栏.相反,我得到了一个像Visual Studio自己的菜单栏.没有任何样式设置MenuStrip
似乎模仿更常见的本机菜单栏.
有没有办法在我的Windows窗体应用程序中添加一个与您在记事本,任务管理器和其他人中看到的菜单栏相同的菜单栏?(最好是设计师,但我不介意以编程方式添加它.)
截图插图:
小智 54
这很简单.
转到您的工具箱,右键单击任何内部并选择"选择项目".加载并显示对话框时,向下滚动直至看到MainMenu.将其添加到工具箱中,您就拥有了一个原生菜单栏!
快乐的编码!
Mus*_*sis 20
您可以通过设置表单的Menu
属性来执行此操作,如下所示:
private void Form1_Load(object sender, EventArgs e)
{
this.Menu = new MainMenu();
MenuItem item = new MenuItem("File");
this.Menu.MenuItems.Add(item);
item.MenuItems.Add("Save", new EventHandler(Save_Click));
item.MenuItems.Add("Open", new EventHandler(Open_Click));
item = new MenuItem("Edit");
this.Menu.MenuItems.Add(item);
item.MenuItems.Add("Copy", new EventHandler(Copy_Click));
item.MenuItems.Add("Paste", new EventHandler(Paste_Click));
// etc ...
}
private void Save_Click(object sender, EventArgs e)
{
// save
}
Run Code Online (Sandbox Code Playgroud)
这些菜单看起来像"普通"系统菜单.
但是,我找不到任何设计师支持.在我的辩护中,我并没有真正努力.
MainMenu
您可以为组件创建自己的渲染器,而不是使用该MenuStrip
组件.这里的优点是能够向MenuStripItem
对象添加图像.以下是自定义渲染器的pastebin:
可以在渲染器的构造函数中应用不同的主题.尝试全部查看原生主题.要使用此渲染器,只需将实例设置为MenuStrip
Renderer属性:
menuStrip.Renderer = new NativeRenderer([theme]);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26351 次 |
最近记录: |