ToolStripButton单击问题

问题描述

我的窗口窗体有一个工具栏,上面有几个工具栏按钮。我单击一个“工具条”按钮以显示一个“下拉颜色”对话框,“颜色”对话框显示出来,但是我必须单击“对话框”窗口两次以选择一种颜色(一次单击以获取焦点,另一次单击以选择颜色)。这很烦人。我将相同的代码移到标准按钮下,下拉颜色对话框仅需单击一下即可选择一种颜色。如何解决此工具栏按钮上的双击问题?

enter image description here

private void tsbShowDowndownColorDialog_Click(object sender,EventArgs e) //Need to click twice to select a color
{            
    NativeColorPicker.DropDownControlManager _ColorPickerManager = new NativeColorPicker.DropDownControlManager(new Point(Cursor.Position.X,Cursor.Position.Y + 6),new Rectangle(0,0));                  
        object objectValue = new ColorEditor().EditValue(_ColorPickerManager,ChoosenColor);
        if (objectValue != null && !_ColorPickerManager.Canceled)
        {
            ChoosenColor = (Color)objectValue;
        }  
}

    private void btnShowDowndownColorDialog_Click(object sender,EventArgs e) //normal!
    {                        
        NativeColorPicker.DropDownControlManager _ColorPickerManager = new NativeColorPicker.DropDownControlManager(new Point(Cursor.Position.X,0));            
            object objectValue = new ColorEditor().EditValue(_ColorPickerManager,ChoosenColor);
            if (objectValue != null && !_ColorPickerManager.Canceled)
            {
                ChoosenColor = (Color)objectValue;
            }  
    }

解决方法

我将Toolstrip按钮替换为Toolstrip拆分按钮(或在Toolstrip上插入标准按钮),然后问题解决了。但是我对Toolstrip按钮没有解决方法,只是避免使用Toolstrip按钮带出任何弹出窗口。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...