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