Невозможно обнаружить различные события щелчка - PullRequest
0 голосов
/ 06 июня 2019

Я хочу, чтобы текст по умолчанию был удален из моего текстового поля в C # Visual Studio, но, несмотря на попытку многих детекторов щелчков, он не очистится.

Я пытался использовать textBox1_MouseClick, textBox1_Focus, textBox1_Click, но, похоже, ничто не позволяет текстовому полю обнаружить, что оно было нажато.Я попробовал эти методы, чтобы очистить его: textBox1.Clear(); textBox1.Text = " "; textBox1.Text = String.Empty;

Я протестировал их на кнопке, которая запускает их при нажатии, и все они, кажется, работают.Любой совет?

Ответы [ 3 ]

0 голосов
/ 06 июня 2019

Предполагая, что вы говорите о winforms:

1 - Перейти к дизайну формы

2 - Нажмите на ваш текстовый ящик

3 - Перейти к свойствам вашего текстового поля

4 - Перейти к событиям и выполнить поиск «Click» или «MouseClick» (нужное вам событие)

5 - Дважды щелкните пустое поле

6 - Добавить кодв текстовое поле, чтобы удалить текст, как это:

private void TextBox3_Click(object sender, EventArgs e)
{
    textBox3.Text = "";
}
0 голосов
/ 06 июня 2019
    public Form1()
    {
        InitializeComponent();

        textBox1.Click += TextBox1_Click;
    }

    private void TextBox1_Click(object sender, EventArgs e)
    {
        textBox1.Text = "";
    }

Предполагается, что вы добавили textBox1 в форму.Если это не работает, то родительский элемент управления потребляет событие click до того, как оно достигнет TextBox

0 голосов
/ 06 июня 2019

Это нормально работает для меня. Он подписывается на событие ввода, которое срабатывает при выборе / фокусировке текстового поля.

textBox1.Enter += TextBox1_Enter;

...

private void TextBox1_Enter(object sender, EventArgs e)
{
  textBox1.Clear();
}
...