2011-10-17 64 views
1

我有一個文本框,並將MiltiLine屬性設置爲true,並將AcceptsTab屬性設置爲false。如何在按下多行文本框的情況下按下時按下Ctrl + Tab按鈕,就像Tab一樣?

當文本框有焦點,我按下Tab它工作正常,下一個控件獲得焦點,但是當我按下Ctrl + Tab時,它的工作方式就好像AcceptsTab屬性設置爲true並使製表符成爲TextBox。

當我在MDI應用程序中切換窗體時按下Ctrl + Tab ..的原因。

現在如何在按下多行文本框的情況下按下時按下Ctrl + Tab按鈕就像Tab一樣?

+0

你好。對不起,可能是我沒有理解的問題。那麼,我創建了WinForms項目,在第一個選項卡上放置了TabControl,多行文本框和按鈕。文本框的AcceptsTab屬性設置爲false。在選項卡上,它將焦點移到其他控件上,在Ctrl + Tab上切換選項卡。那是需要的行爲嗎? – mao

+0

沒有我沒有使用TabControl,我的問題是:我正在使用MDI應用程序,在活動子窗體和焦點是在文本框..當我按(Tab)只,它去活動子窗體中的下一個控件那很好)。 但是,當我按Ctrl + Tab並且焦點在文本框上時,它會在文本框(我不想)中輸入一個製表符字符,然後移到下一個子窗體。 我想要的是移動到下一個子窗體時按Ctrl + Tab鍵沒有輸入到文本框中的製表符。 thanx提前。 – HatemGamal

回答

1

好吧,如果你想抑制文本Ctrl + Tab鍵的新聞發佈會上,你可以用代碼hanlde TextBox.KeyDown事件是這樣的:

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Control && e.KeyCode == Keys.Tab) 
    { 
     e.Handled = true; 
    } 
} 

此代碼將抑制文本框選項卡行爲。但我不知道它是否保持兒童形式的轉換行爲。可能你必須通過編程來實現它。在我的簡單的MDI應用程序中使用一個MDIContainer表單和兩個子表單顯示此行爲默認情況下不顯示。