比如说:我在ToolBar中有三个按钮(新增,保存,取消)。我想设两个快捷键。比如把:新增的快捷键设为“/”,把保存的快捷键设为“*”。希望大虾们给个方案。

解决方案 »

  1.   

    一般直接在toolbar上操作是比较麻烦的,比较合理的方法是建立mainmenu,然后把toolbar上的button与menuitem建立映射关系,然后可以在menuitem设置shortcut,这样就相当于toolbar的button也设置了快捷键。
      

  2.   

    示例:private void Form_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if(ProcessToolbarButton(e,this.toolBar1) != null)
    this.toolBar1_ButtonClick(this.toolBar1,ProcessToolbarButton(e,this.toolBar1));
    } private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
    {
    switch(e.Button.Text)
    {
    case "新增":
    MessageBox.Show("新增");
    break;
    case "保存":
    MessageBox.Show("保存");
    break;
    }
    } public static ToolBarButtonClickEventArgs ProcessToolbarButton(KeyEventArgs key,ToolBar toolbar)
    {
    ToolBarButtonClickEventArgs click;
    foreach(ToolBarButton button in toolbar.Buttons)
    {
    if(TransTemp(key.KeyData.ToString()) == button.Text )
    {
    click = new ToolBarButtonClickEventArgs(button);
    return click;
    }
    }
    return null;
    } public static string TransTemp(string KeyText)
    {
    switch(KeyText)
    {
    case "F1":
    return "新增"; case "F2":
    return "保存"; default:
    return "";
    }
    }