Winforms 临时连接2个文本框值

Winforms 临时连接2个文本框值,winforms,c#-4.0,Winforms,C# 4.0,我想创建两个文本框(txt1,txt2),当我在txt1中写入时,txt2应该反映我在txt1中键入的相同文本。例如,当我们在VisualStudioProfessional中创建一个新的解决方案时,我们给项目起的名字和解决方案的名字相同。但如果我们编辑解决方案名称,两个文本框之间的链接就会中断。 我确实有一些想法,可以用textChange事件或者事实上许多类似的事件来实现,但不确定它们是否是最好的方法。 我正在使用Winforms、C#4.0、VisualStudio2010(如果这些信息很

我想创建两个文本框(txt1,txt2),当我在txt1中写入时,txt2应该反映我在txt1中键入的相同文本。例如,当我们在VisualStudioProfessional中创建一个新的解决方案时,我们给项目起的名字和解决方案的名字相同。但如果我们编辑解决方案名称,两个文本框之间的链接就会中断。 我确实有一些想法,可以用textChange事件或者事实上许多类似的事件来实现,但不确定它们是否是最好的方法。 我正在使用Winforms、C#4.0、VisualStudio2010(如果这些信息很重要的话) 如果我的问题不清楚,请发表一点评论,我将尽力详细说明。
谢谢。

考虑为txt1\u TextChanged和txt2\u KeyPress添加事件处理程序

txt1\u TextChanged将分配txt2.Text:
txt2.Text=“c:\”+txt1.Text


txt2_按键将取消订阅txt1_TextChanged:
txt1.TextChanged-=txt1_TextChanged

在给定需求定义的情况下,添加TextChanged EventHandler是一种方法

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

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

我解决了,所以想把它贴在这里

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

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

希望有帮助。

谢谢。我在我的问题中提到了解决方案,我想:-)它只会/只会在txt2中键入第一个字母。但是为什么你想使用按键,我知道它会工作,但为什么它会工作得更好。你可以看到我的解决方案,我把它贴在这里了。我会很高兴的comments@rapsalands,在这种情况下,对你认为有用的答案进行投票并接受其中一个答案是一种很好的做法,这会鼓励回答者认真对待你的其他(未来)问题。试着再次检查我的问题。这不是我想要的。我写“它起作用了”,因为概念是一样的。但我还是会跟着你。谢谢你的帮助。