我有一個textbox
和TextChanged
事件,並且它的每當用戶鍵入內容時,反斜槓將自動添加到文本框的末尾,如果已經沒有。設置文本框脫字符的最後可能位置
這可以正常工作,除非用戶將光標置於文本框末尾的反斜槓和類型之後,它將反斜槓移動到左側,添加新文本,然後在末尾添加另一個反斜槓。
例如,用戶輸入C
並出現C\
。現在,如果他們在\
之後點擊並鍵入a
,則出現C\a\
,當我想要的只是Ca\
。
所以我需要一種方法來設置光標在文本框中的最後一個位置,直到反斜槓之前,如果用戶試圖將它設置在反斜槓之後。
下面是TextChanged事件代碼:
private void batchRootFolderText_TextChanged(object sender, EventArgs e)
{
if (!batchRootFolderText.Text.EndsWith("\\"))
{
batchRootFolderText.Text = batchRootFolderText.Text + "\\";
}
}
這很奇怪的行爲或'TextBox'如果你問我。你能告訴你爲什麼要這樣做?要點是,當用戶完成後(焦點丟失或按下按鈕),您可以在稍後進行一些改變,而不一定在每次文字改變之後,而他還沒有完成。 – Sinatr
是的,這很奇怪,但用戶每次輸入文字時都會特別要求這樣做。如果我最終可以在最後按下按鈕來使用該文本,那會更好。 – pfinferno