本文讲述如何使用ComponentOne Menus and Toolbars™ for WinForms控件创建停靠/浮动工具栏,多级菜单以及上下文菜单。
1.创建主菜单和上下文菜单
C1MainMenu 控件和C1ContextMenu 控件可以显示用于导航和命令的多层、多列的菜单。每一个菜单都包含了一系列的命令链接,而每一个都链接到了一个单一的共享命令。
从工具箱拖拽C1MainMenu控件和C1ContextMenu控件到到窗体。然后给控件通过CommandLinks属性用code或Editor添加不同的命令链接CommandLink,并用ComandLink.Command属性指定命令。具体的参考代码如下:
private C1.Win.C1Command.C1CommandMenu c1CommandMenu_File = new C1.Win.C1Command.C1CommandMenu();
this.c1CommandMenu_File.Text = "文件";
private C1.Win.C1Command.C1CommandLink c1CommandLink1 = new C1.Win.C1Command.C1CommandLink();
this.c1CommandLink1.Command = this.c1CommandMenu_File;
private C1.Win.C1Command.C1MainMenu c1MainMenu1 = new C1.Win.C1Command.C1MainMenu();
this.c1MainMenu1.CommandLinks.AddRange(new C1.Win.C1Command.C1CommandLink[] {this.c1CommandLink1,});
2.创建C1ToolBar和C1CommandDock
拖拽C1CommandDock控件到窗体,它给C1Toolbar提供停靠和浮动,然后拖拽C1ToolBar控件到CommandDock,这是一个表示工具栏的控件。就像C1MainMenu控件一样,它也包含了一系列的命令链接。CommandDock可以添加不同的多个Toolbar。代码参考如下:
this.c1CommandDock1.Controls.Add(this.c1ToolBar_Tools);
this.c1CommandDock1.Controls.Add(this.c1ToolBar_Format);
this.c1CommandDock1.Controls.Add(this.c1ToolBar_Edit);
this.c1CommandDock1.Controls.Add(this.c1ToolBar_File);
3.创建C1CommandHolder
拖拽C1CommandHolder控件到窗体,该控件可以将菜单和工具栏的所有命令存储为一个单一的集合。所有的命令都可以触发C1CommandHolder的Click事件。并且允许您在多个菜单和工具栏之间共享命令。当添加MainMenu、Toolbar等控件的时候,C1CommandHolder组件可以被自动创建并进行管理。
给C1CommandHolder挂上Click事件,当点击相应的命令就会触发Click事件。代码如下所示:
private void c1CommandHolder1_CommandClick(object sender, CommandClickEventArgs e)
{
//c1command click event
label1.Text = "执行 " + e.Command.Text + " 操作";
}
这样,具有Office视觉样式的菜单和工具栏就完成了。本文Demo的效果如下所示:
本文Demo的源代码如下:
关于葡萄城
葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。
葡萄城热门产品


