工具栏可以映射到菜单吗? 不可以吗?你可以(菜单项or工具项).Click+=同一个处理函数。也可以在相应Event的下拉框里选择处理函数,这样,不同按钮或菜单不就可以采用相同的处理函数了吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在“工具栏”的“Click事件处理方法”中,用siwtch语句选择调用相应的菜单的“Click事件处理方法”,举个例子: private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e) { switch(e.Button.Text) { case "新建":menuItem2_Click(this,new EventArgs());break; case "打开":menuItem3_Click(this,new EventArgs());break; } } private void menuItem3_Click(object sender, System.EventArgs e) { MessageBox.Show("你点击了“打开”"); } private void menuItem2_Click(object sender, System.EventArgs e) { MessageBox.Show("你点击了“新建”"); } 推荐使用 命令模式(Command Pattern) 协调完成相同功能的菜单项和工具条按钮,用命令对象统一相关UI组件的状态和行为。比如我们希望把“离线工作”的菜单和工具栏功能关联对应起来,可以这么做:1、声明一个 Command 对象,并在 MainForm_Load() 里为这个行为创建一个命令private Command m_workOfflineCommand = null;m_workOfflineCommand = new Command(new Command.Action(this.WorkOffline_Action));2、用 Commander 对象把菜单项和工具条按钮联结到这个 CommandMenuItemCommander.Connect(menuWorkOffline, m_workOfflineCommand);ToolBarButtonCommander.Connect(toolbarWorkOffline, m_workOfflineCommand);3、通过命令来控制菜单项和工具条按钮的状态private void WorkOffline_Action() { // 例如,你需要更新是否离线工作的状态 UpdateWorkOffline(); if (menuWorkOffline.Checked){//...}} 先谢下 Wanz(我是我的) 我试一下 Command对象是在哪个命名空间里啊,找不到呀 Command对象不是内置的对象,你可以参考 Design Patterns: Command 部分自己写一个 Design Patterns: Command是什么东东? 能详细一点吗Design Patterns: Command 什么东西啊 AppDomain到底是什么?通俗一点 竞态条件 一个类 从上到下 都是 static 有什么好处? 什么是强名称程序集? 一个初学者的问题 winform,数据库是MSDE,关于程序打包问题。 关于TreeView的问题 请教各位怎样做页合计和合计 电子商务书籍 如何通过.net C#生成word文档 C#中如何实现防止程序重入? 急!如何在打开一网页时,在IE中隐藏工具栏,菜单栏,地址栏等,且一定要关闭原有的IE,即不能出现两个IE(一个有工具栏,一个没有)。
{
switch(e.Button.Text)
{
case "新建":menuItem2_Click(this,new EventArgs());break;
case "打开":menuItem3_Click(this,new EventArgs());break;
}
} private void menuItem3_Click(object sender, System.EventArgs e)
{
MessageBox.Show("你点击了“打开”");
} private void menuItem2_Click(object sender, System.EventArgs e)
{
MessageBox.Show("你点击了“新建”");
}
private Command m_workOfflineCommand = null;
m_workOfflineCommand = new Command(new Command.Action(this.WorkOffline_Action));2、用 Commander 对象把菜单项和工具条按钮联结到这个 Command
MenuItemCommander.Connect(menuWorkOffline, m_workOfflineCommand);
ToolBarButtonCommander.Connect(toolbarWorkOffline, m_workOfflineCommand);3、通过命令来控制菜单项和工具条按钮的状态
private void WorkOffline_Action()
{
// 例如,你需要更新是否离线工作的状态
UpdateWorkOffline();
if (menuWorkOffline.Checked){//...}
}
Design Patterns: Command 什么东西啊