2016-06-09 133 views
0

我目前正在创建一个具有三个文本框的应用程序。键入一个框将导致其他两个显示文本的“转换”版本。所有三个盒子都可以输入并用于相同的目的(尽管为转换提供了不同的输出)。C#“Textchanged”事件和无限循环?

只要文本框的文本值被更改,就会调用“TextChanged”事件,这是不言自明的。但是如果我通过代码更改值,这个事件也会触发。

说如果我改变了第一个框,它会在第二个框中创建文本。第二个盒子也会触发事件吗?这会导致无限循环吗?

+0

我觉得这是一个有趣的情况,而是一个我见过之前实施。我认为你应该写一些代码并找出答案! – dckuehn

+0

我第一次尝试写出两个字符串(每个转换一个),然后将所述字符串应用于框的文本字段。当我测试它时,它拒绝让我打字,并不断给出一个空白的文本框。我认为这是因为每次添加东西时它都会不断应用空白字符串。 当我按下回车键而不是textchanged时,我改变它来调用转换函数(并因此应用新的字符串)。现在工作正常,但使用“输入”键创建一个角色,我不知道如何引用......但这是一个全新的问题。 – Michael

回答

0

不,它不会。文本摘自MSDN页面上的事件:

当文本框的内容在发布到服务器的帖子之间发生变化时引发TextChanged事件。如果用户更改了文本,则会引发该事件;如果文本以编程方式更改,则不会引发该事件。

MSDN page