如何在Textbox處於焦點時單擊可鏈接/按鈕時停止文本框離開事件?在丟失焦點時防止文本框離開事件
我有一個文本框TextBox1
。在離開事件時,我必須驗證它的文本。並根據它的文本,我必須填充下一個文本框TextBox2
的建議。
所以在這個過程中,當我點擊一個鏈接標籤[這是因爲不同的原因],而TextBox1
是焦點,它正在發射離開事件[這是顯而易見的],並調用驗證功能[這是不應該被稱爲 - 因爲用戶完成輸入後沒有離開文本框 - 它是由可鏈接點擊觸發的]。
我試圖取消訂閱在鏈接標籤的點擊事件上留下事件,但這並沒有幫助,因爲離開事件在第一時間被解僱。
在這種情況下應該做什麼?
編輯: 發佈相關的代碼,
我有同一個事件處理兩個文本框
private void txtBox_Leave(object sender, EventArgs e)
{
TextBox textBox = sender as TextBox;
textBox.Visible = false;
#region TextBox 1
if (textBox.Equals(txtBox1))
{
//Text Box 1 validation
//Populating Suggestions for TextBox2
//Passing focus on Textbox 2
}
#endregion
#region TextBox 2
else if (textBox.Equals(txtBox2))
{
//Text Box 2 validation
}
#endregion
}
正如我前面提到的,鏈接的標籤是有不同的,我不能禁用或在文本框上操作時將其隱藏。
的一個現象是, 當我點擊鏈接標籤,文本框的Leave事件提高第一,之後點擊鏈接標籤的事件,所以我們不能執行任何邏輯(如退訂文本框的假事件或別的東西)在Link-Label的點擊事件上 - 就像我們不想要的那樣完成驗證過程。
您是否正在使用的WinForms,WPF,...? (您應該將其添加到標籤列表中)。 – samosaris
@SamusArin我正在使用winForms。 – Amit
您可以請發佈相關代碼,特別是TextBox離開事件處理程序和驗證程序嗎? – samosaris