tsp*_*sps 7 .net tabcontrol winforms
替代文字http://i49.tinypic.com/2eqcajp.jpg
Ctrl+ PageUp/ PageDown和Ctrl+ Tab是TabControl的默认快捷方式.它们有助于在相邻选项卡之间移动.当我的焦点位于控件(此处为文本框)时,我希望Ctrl+ PageX行为仅适用于外部选项卡(tab1,tab2)和内部选项卡的Ctrl+ Tab行为(tab3,tab4).为此,我需要禁用默认行为.有办法做到这一点吗?
我查看了ProcessDialogKey和IsInputKey,但它们似乎只适用于单个keydata.不处理修饰符.
Han*_*ant 12
TabControl有不寻常的键盘快捷键处理,它们反映到OnKeyDown()方法中.这样做是为了避免它干扰标签页上控件的键盘处理.
你必须覆盖该方法.在项目中添加一个新类并粘贴下面显示的代码.编译.将新控件从工具箱顶部拖放到您的工具箱上Form.
using System;
using System.Windows.Forms;
class MyTabControl : TabControl {
protected override void OnKeyDown(KeyEventArgs e) {
if (e.KeyData == (Keys.Tab | Keys.Control) ||
e.KeyData == (Keys.PageDown | Keys.Control)) {
// Don't allow tabbing beyond last page
if (this.SelectedIndex == this.TabCount - 1) return;
}
base.OnKeyDown(e);
}
}
Run Code Online (Sandbox Code Playgroud)