pravin9455 Ответов: 1

Как установить фокус обратно в текстовое поле C#


я создаю класс для наследования текстового поля для даты.

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

ниже строка в коде получает подчеркивание красным цветом

этот.Сосредоточить;


Ошибка CS0201 в качестве оператора можно использовать только выражения assignment, call, increment, decrement, await и new object

Что я уже пробовал:

protected override void OnLostFocus(EventArgs e)
       {
           base.OnLostFocus(e);

           if (this.Text == "")
           {

           }
           else
           {



               if (DateTime.TryParseExact(this.Text, "dd/mm/yyyy",
                                   System.Globalization.CultureInfo.InvariantCulture,
                                   System.Globalization.DateTimeStyles.None,
                                   out DateTime theDate))
               {


               }
               else
               {
                 MessageBox.Show("Invalid Date : Date should be in 'DD/MM/YYYY' format");

                   this.Focus;
               }

           }
       }

Richard MacCutchan

Почему бы не использовать DatePicker вместо текстового поля?

1 Ответов

Рейтинг:
12

phil.o

this.Focus();

Focus является ли метод Control класс; как таковой, его вызовы должны быть сделаны с помощью скобок. Если вы опустите скобки, компилятор будет искать свойство с этим именем, которое он не найдет.


pravin9455

Спасибо

у меня есть проблема с изменением заднего цвета также ongotfocus

в приведенном ниже коде цвет строки подчеркните красным цветом

этот.Цвет Фона = Цвет.красный;

Ошибка CS0103 имя "цвет" не существует в текущем контексте


охраняемых переопределить недействительными метод ongotfocus(EventArgs в электронной)
{
база.Метод ongotfocus(е);
если (это.Только для чтения == true)
{
этот.Цвет Фона = Цвет.красный;


}

еще
{
этот.BackColor = Цвет.Сигрин;
}



}

phil.o

Вам не хватает одного человека. using System.Drawing; директива поверх вашего файла кода.

pravin9455

спасибо
Понял