C # Формы. Как мне обратиться к элементу управления внутри этого элемента управления - PullRequest
0 голосов
/ 25 апреля 2018

Я написал фрагмент кода, который конвертирует письменный язык в иврит (по ссылке, которую я разработал).Когда, например, когда я вхожу в текстовое поле управления и мне нужно, чтобы он писал на иврите, я добавляю к его событию Enter следующее:

private void txtTestDirectionRTL_Enter(object sender, System.EventArgs e)
    {
        HebChng ();
        txtTestDirectionRTL.RightToLeft = RightToLeft.Yes;
    }

HebChng конвертирует язык ввода в иврит.Теперь вторая строка кода определяет направление потока для этого текстового поля.Я хотел бы сослаться на этот элемент управления с помощью других значений, отличных от его явного имени.

Ключевое слово "this" относится к классу.Могу ли я использовать что-нибудь, чтобы сослаться на название элемента управления, в котором я нахожусь?

Можно ли это сделать?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

вы можете получить объект через отправителя вашей функции события, например так:

(sender as TextBox).RightToLeft   = RightToLeft.Yes;
0 голосов
/ 25 апреля 2018

Метод имеет параметр «отправитель объекта» - вы можете использовать его, приведя его к правильному классу. Например:

private void txtTestDirectionRTL_Enter(object sender, System.EventArgs e)
{
  HebChng ();
  TextBox myControl = (TextBox)sender;
  myControl.RightToLeft = RightToLeft.Yes;
}

Обратите внимание, что это применимо ко всем обработчикам событий элемента управления - первый параметр - это объект, который является ссылкой на исходный элемент управления (т. Е. «Отправитель»). Это должно позволить вам использовать один и тот же обработчик событий для нескольких элементов управления, если вы переопределяете обработчики, автоматически генерируемые Visual Studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...