Временное подключение 2 значений Textboxes - PullRequest
1 голос
/ 28 сентября 2011

Я хочу создать 2 текстовых поля (txt1, txt2), и когда я пишу в txt1, тогда txt2 должен отражать тот же текст, который я набрал в txt1.НапримерКогда мы создаем новое решение в Visual Studio Professional, то имя, которое мы даем Project, появляется такое же имя для Solution.Но если мы редактируем имя решения, связь между двумя текстовыми полями разрывается.У меня есть некоторое представление об этом, делать это с событием textChange или на самом деле многими подобными событиями, но я не уверен, что они являются лучшими методами.Я использую Winforms, C # 4.0, Visual Studio 2010 (если эта информация имеет значение) Если мой вопрос неясен, просто сделайте комментарий, который я постараюсь уточнить.Спасибо.

Ответы [ 3 ]

0 голосов
/ 28 сентября 2011

С данным определением требования добавление TextChanged EventHandlers - это путь.

private void txt1_TextChanged(object sender, EventArgs e)
{
    txt2.Text = txt1.Text;
}

private void txt2_TextChanged(object sender, EventArgs e)
{
    txt1.Text = txt2.Text;
}
0 голосов
/ 29 сентября 2011

Я решил это, поэтому подумал, чтобы опубликовать это здесь

txt1_TextChanged(obje....)
{
   txt2.Text = txt1.Text;
}

txt2_TextChanged(objec...)
{
   if(txt2.Focused)
   {
      txt1.TextChanged -= new EventHandler(txt1_TextChanged);
   }
}

Надеюсь, это поможет.

0 голосов
/ 28 сентября 2011

Рассмотрите возможность добавления обработчика событий для txt1_TextChanged и txt2_KeyPress.

txt1_TextChanged назначит txt2.Text: txt2.Text = "c:\" + txt1.Text;

txt2_KeyPress приведет к отмене подписки txt1_TextChanged:

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