Проблема с щелчком ToolStripButton

В моей оконной форме есть панель инструментов, на ней есть несколько кнопок панели инструментов. Я нажимаю одну кнопку панели инструментов, чтобы открыть диалоговое окно раскрывающегося списка цветов, отображается диалоговое окно цвета, но мне нужно дважды щелкнуть окно диалогового окна, чтобы выбрать цвет (один щелчок, чтобы получить фокус, другой щелчок, чтобы выбрать цвет). Это очень раздражает. Я перемещаю тот же код под стандартную кнопку, в раскрывающемся диалоговом окне цвета достаточно одного щелчка, чтобы выбрать цвет. Как решить проблему двойного щелчка на этой кнопке панели инструментов? введите здесь описание изображения

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;
            }  
    }

person qtg    schedule 31.10.2020    source источник
comment
Вы пытались установить фокус программно после открытия диалогового окна цвета?   -  person JanDotNet    schedule 31.10.2020
comment
Диалоговое окно «Цвет» получило фокус, потому что клавиатура работает (я могу использовать клавиатуру для выбора) после всплывающего окна. Только мышь должна щелкнуть один раз, а затем щелкнуть еще раз, чтобы сделать выбор. Я видел, что некоторые программы имеют ту же проблему.   -  person qtg    schedule 01.11.2020
comment
Я заменяю кнопку панели инструментов разделенной кнопкой панели инструментов (или вставляю стандартную кнопку в панель инструментов), после чего проблема решается. Итак, основная проблема заключается в поведении кнопки панели инструментов.   -  person qtg    schedule 01.11.2020


Ответы (1)


Я заменяю кнопку панели инструментов разделенной кнопкой панели инструментов (или вставляю стандартную кнопку в панель инструментов), после чего проблема решается. Но у меня не было обходного пути для кнопки Toolstrip, я просто избегаю использования кнопки Toolstrip для вывода всплывающих окон.

person qtg    schedule 31.10.2020