Visual Studio 2015 C # диалоговое окно цвета для текстового поля при нажатии в - PullRequest
0 голосов
/ 03 октября 2018

Итак, я пытаюсь создать небольшую программу, в которой при нажатии в пустом текстовом поле появляется диалоговое окно и изменяется фон текстового поля.Теперь я попытался использовать приведенный ниже код, но он ничего не делает.Текстовое поле находится в режиме только для чтения.Любая помощь очень ценится.

 private void textBox1_Enter(object sender, System.EventArgs e)
    {
        colorDialog1.ShowDialog();
        textBox1.BackColor = colorDialog1.Color;

    }

1 Ответ

0 голосов
/ 03 октября 2018

(если вы используете Windows Forms (что я и предполагаю), вы должны пометить его, и у вас не должно быть тега "Visual Studio")

Если я создаю приложение Windows Forms, поместите в форму текстовое поле и диалоговое окно «Цвет» и добавьте следующий код:

    private void textBox1_Enter(object sender, EventArgs e)
    {
        if (colorDialog1.ShowDialog() == DialogResult.OK)
        {
            textBox1.BackColor = colorDialog1.Color;
        }
    }

... всплывающее диалоговое окно «Цвет».Если я выберу цвет и нажму «ОК», задний цвет текстового поля изменится.Я попытался сделать это с ReadOnly и без него, установленным в true (я был удивлен, что вы можете «Ввести» текстовое поле только для чтения, но ...).

Итак, вы видите всплывающее диалоговое окно с цветом, и вывыберите цвет и нажмите ОК, а затем вы ничего не видите?Это удивительно.Или вы видите что-то еще?

Для чего это стоит, это не отличный дизайн пользовательского интерфейса.Я не ожидаю, что в результате нажатия на текстовое поле появится другое диалоговое окно.Также обратите внимание, что это может произойти только один раз.Как только вы нажали в текстовом поле, вы ввели его.Вы должны установить фокус на другой элемент управления, прежде чем снова щелкнуть текстовое поле.Если вы щелкнете то же самое место над овером, вы вводите его только в первый раз.

...