【问题标题】:ToolStripButton Click issueToolStripButton 点击​​问题
【发布时间】:2020-10-31 14:46:08
【问题描述】:

我的窗口窗体有一个工具条,上面有几个工具条按钮。我单击一个工具条按钮以显示下拉颜色对话框,显示颜色对话框,但我必须单击对话框窗口两次才能选择颜色(单击以获得焦点,再次单击以选择颜色)。这很烦人。我在标准按钮下移动相同的代码,下拉颜色对话框只需单击一下即可选择颜色。如何解决此工具条按钮上的双击问题?

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, 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, Cursor.Position.Y + 6), new Rectangle(0, 0, 0, 0));            
            object objectValue = new ColorEditor().EditValue(_ColorPickerManager, ChoosenColor);
            if (objectValue != null && !_ColorPickerManager.Canceled)
            {
                ChoosenColor = (Color)objectValue;
            }  
    }

【问题讨论】:

  • 您是否尝试在打开颜色对话框后以编程方式设置焦点?
  • 颜色对话框获得焦点是因为键盘在弹出后工作(我可以使用键盘进行选择)。只有鼠标必须单击一次,然后单击另一个完成选择。我看到有些软件有同样的问题。
  • 我将工具条按钮替换为工具条拆分按钮(或在工具条上插入标准按钮)然后问题解决。因此,根本问题在于工具条按钮的行为。

标签: c# focus toolstrip


【解决方案1】:

我将工具条按钮替换为工具条拆分按钮(或在工具条上插入标准按钮),然后问题解决。但是我还没有使用工具条按钮的解决方法,我只是避免使用工具条按钮来显示任何弹出窗口。

【讨论】:

    猜你喜欢
    • 2016-07-18
    • 1970-01-01
    • 2019-04-20
    • 2016-08-14
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多