Всплывающая подсказка появляется, но не появляется снова, если мышь не двигается - PullRequest
0 голосов
/ 18 марта 2019

Я использую событие TextChanged в текстовом поле для проверки содержимого.Я пытаюсь сделать всплывающую подсказку, если пользовательские ключи недопустимы.Это отлично работает, когда в первый раз вводится недопустимый символ. Если я удаляю недопустимый символ, а затем добавляю еще один недопустимый символ, всплывающая подсказка не появляется.Мне нужно переместить мышь, чтобы всплывающая подсказка появилась снова.

Мне нужен способ сообщить пользователю, что он ввел недопустимый символ в текстовое поле, которое нельзя использовать в пути.

Почему всплывающая подсказка не появляется после ввода другого недопустимого символа?

Код:

    // Initialization
    char[] illegalCharacters = Path.GetInvalidPathChars();

    //Event handler
    private void descriptionTextChanged(object sender, EventArgs e)
    {
        if (description.Text.Length < 6)
        {
            description.BackColor = Color.LightPink;
            toolTip1.SetToolTip(description, @"Must be at least 6 characters long.");
        }
        else
        {
            description.BackColor = Color.White;
            foreach (char illegalCharacter in illegalCharacters)
            {
                if (description.Text.Contains(illegalCharacter))
                {
                    description.BackColor = Color.LightPink;
                    toolTip1.RemoveAll();
                    toolTip1.Show(@"Name may not contain a '< , > | or double quote.", description);
                    break;
                }
            }
        }
    }
...