我目前正在创建一个包含三个文本框的应用程序。键入一个方框将导致另外两个进行"转换"显示的文本版本。所有三个框都可以输入并用于相同的目的(尽管为转换提供不同的输出)。
" TextChanged"只要更改框的文本值,就会调用event,这是相当不言自明的。但是,如果我通过代码更改值,此事件也会触发。
如果我更改了第一个框,它会在第二个框中创建文本。第二个盒子也会触发事件吗?这会导致无限循环吗?
答案 0 :(得分:0)
不,它不会。从事件的MSDN页面获取的文本:
当文本框的内容在发布到服务器的帖子之间发生更改时,会引发TextChanged事件。只有在用户更改了文本时才会引发该事件;如果以编程方式更改文本,则不会引发该事件。
答案 1 :(得分:0)
是或否。
此行为不同于Winform和ASP.Net(每个行为对应于System.Windows.Forms.TextBox和System.Web.UI.WebControls.TextBox),这意味着如果要创建ASP.Net应用程序,则答案是否,但是如果您使用的是Winform应用程序,那么答案是肯定的。 请参考以下与MSDN不同的说法:
System.Windows.Forms.Control.TextChanged Event
备注
如果将Text属性更改为一个,则会引发此事件 程序修改或用户交互。
有关处理事件的更多信息,请参阅处理和引发 活动。
System.Web.UI.WebControls.TextBox.TextChanged Event
当文本框的内容出现时,将引发TextChanged事件 在服务器的帖子之间进行更改。仅当 文字由用户更改;如果文本是 以编程方式更改。