我在某些面板內部有一些TextBoxes。對於那些文本框,我設置了一個Enter事件函數。單擊面板內的TextBox觸發多次輸入事件
private void TextBox_Enter(object sender, EventArgs e)
{
TextBox tBox = sender as TextBox;
tBox.HideSelection = false;
tBox.SelectAll();
tBox.HideSelection = true;
}
我這樣做是爲了讓用戶可以進入或點擊文本框並開始輸入。現在,我已經成功地以其他形式完成了這項工作。我現在的問題是,出於某種原因,使用Enter事件將它們放入面板螺絲中。
在代碼中插入一個斷點表明事件被觸發多次,在20或30年代的某個地方。我也有一個Leave事件,但不會觸發,只有Enter事件。這隻發生在面板內時。
TextBoxes被設置爲TabStops並具有不同的TabIndex。
現在,我知道什麼是造成它,但不是爲什麼。如果我刪除了tBox.HideSelection
,我可以輸入文本框而不觸發Enter事件多次。不知道爲什麼代碼會在面板中搞砸,因爲代碼的工作原理與面板之外的意圖一樣。
任何幫助,將不勝感激。謝謝。
這很重要約爲** hideselection護理**? ..爲什麼不只是tBox.SelectAll? – matzone
@matzone他希望不僅通過切換選項卡,而且通過單擊文本框來選擇所有的文本框文本。我試過了代碼,當點擊文本框時,如果只有SelectAll(),則不會選擇文本。 –
@GarryVass不,我沒有設置處理屬性。 EventArgs沒有像KeyEventArgs這樣的Handled屬性。我只用EventArgs怎麼做? – Natzely