WPF 如何取消TabControl自带的左右键切换TabItme的功能?

禁用系统左右光标键的切换,重点是: e.Handled = true; 这句话。

1
2
3
4
5
6
7
private void tabControl1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
    {
        e.Handled = true;
    }
}

 

上面这段代码就是禁用了系统的左右光标键的切换。

 

2、下面这段代码是实现用光标键控制选项卡循环切换。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
private void tabControl1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
            {
                e.Handled = true;
            }
 
            int nextIdx = tabControl1.SelectedIndex;
 
            if (e.KeyCode == Keys.Up ||  e.KeyCode == Keys.Left)
            {
 
                if (tabControl1.SelectedIndex <= 0)
                {
                    nextIdx = tabControl1.TabCount - 1;
                }
                else
                {
                    nextIdx = nextIdx - 1;
                }
            }
            else if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Right)
            {
 
                if (tabControl1.SelectedIndex >= tabControl1.TabCount - 1)
                {
                    nextIdx = 0;
                }
                else
                {
                    nextIdx = nextIdx + 1;
                }
            }
 
            tabControl1.SelectedTab = tabControl1.TabPages[nextIdx];
 
        }

  

posted @   奥兰王子  阅读(652)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
点击右上角即可分享
微信分享提示