【发布时间】:2012-09-15 06:36:00
【问题描述】:
如果我将 TextBox 属性 AcceptsTab 设置为 True TextBox_KeyDown 事件中的此条件不起作用。
if (e.KeyCode == Keys.Tab)
{
if ((e.Control) && (e.Shift))
{
e.Handled = true;
if (Tabs.SelectedIndex > 0)
Tabs.SelectedIndex = Tabs.SelectedIndex - 1;
else
Tabs.SelectedIndex = Tabs.TabPages.Count - 1;
}
else if (e.Control)
{
e.Handled = true;
if (chatFormTabs.SelectedIndex < chatFormTabs.TabPages.Count - 1)
chatFormTabs.SelectedIndex = chatFormTabs.SelectedIndex + 1;
else
chatFormTabs.SelectedIndex = 0;
}
}
我希望在 Form KeyDown 事件中出现这种情况,但它不适合我。
谁能建议我如何做到这一点:
- TextBox 将接受 Tab 键并将 "\t" 字符添加到当前位置。
- 我将能够通过 Ctrl+Tab 或 Ctrl+Shift+Tab 更改选项卡。
【问题讨论】:
-
覆盖表单的 ProcessCmdKey() 方法。您希望用户如何发现这一点?
-
@HansPassant 非常感谢!这正是我想要的。
标签: c# winforms .net-3.5 textbox