我有一個綁定到數據源的文本框。文本框的TextChanged事件更新另一個文本框。當Visible = False時TextBox TextChanged事件不會觸發?
的問題是,我不希望第一個文本框來顯示,所以我設置它的Visible屬性設置爲false。
然而,現在TextChanged
事件不火!
我可以通過在表單加載上設置Visible=True
,Left=-100000
解決它,但我想要一個適當的解決方案。
任何人都可以提供解釋嗎?
我有一個綁定到數據源的文本框。文本框的TextChanged事件更新另一個文本框。當Visible = False時TextBox TextChanged事件不會觸發?
的問題是,我不希望第一個文本框來顯示,所以我設置它的Visible屬性設置爲false。
然而,現在TextChanged
事件不火!
我可以通過在表單加載上設置Visible=True
,Left=-100000
解決它,但我想要一個適當的解決方案。
任何人都可以提供解釋嗎?
坐落在FormLoad事件,而不是在設計你的textbox.Visible = false
。它與處理創建有關。如果在構建過程中文本框不可見,則不會創建句柄。如果文本框在構建後不可見,則該句柄將被創建併發生事件。
在MSDN上查看此discussion。
如果Visible
等於假,則Control
不會被渲染。因此它將無法觸發一個事件。
相反,設置style
到display:none
。您可以設置/取消該程序使用Attributes
集合:
MyTextBox.Attributes.Add("style", "display: none");
對不起,我正在談論winforms。在問題中添加了標籤。 – Blorgbeard 2010-06-22 08:42:01
什麼類型的數據源是什麼?它可能有一個事件,您可以直接使用而不是使用文本框來偵聽更新。
的替代解決方案的接受的答案是建立在框TextChanged監聽器上加載的,這對我的作品一樣的(在Silverlight至少),並保持它應該是設計師的觀點。
謝謝,這對我的控制是在彈出窗口內(所以不會顯示,直到打開),所以使用接受的答案沒有效果。 – Ralt 2017-08-31 09:21:41
什麼樣的TextBox:WinForms,HTML或WPF? – Richard 2010-06-22 08:40:04
對不起,winforms。 – Blorgbeard 2010-06-22 08:41:18