c# - 我可以删除 TabControl 上选项卡上的虚线焦点矩形吗?

标签 c# .net winforms focus tabcontrol

我有一个选项卡控件,需要删除所选选项卡周围的虚线焦点矩形。

我已将 TabControl 的 TabStop 属性设置为 false。但是,如果我单击一个选项卡并按 Tab 键,则选项卡名称周围会出现虚线矩形。

我已经尝试创建自己的 TabControl 并尝试了这个

class MyTabControl : TabControl
{
        public MyTabControl()
        {
            TabStop = false;
            DrawMode = TabDrawMode.OwnerDrawFixed;
            DrawItem += new DrawItemEventHandler(DoMoreTabControl_DrawItem);
            Invalidate();
        }
}

但是,虚线矩形仍然出现。

我还尝试覆盖 MyTabControl.OnPaint() 方法,但没有帮助。

有什么办法可以实现吗?

最佳答案

将焦点设置到选项卡而不是标题(像这样)

private void tabControl1_Click(object sender, EventArgs e)
{
    (sender as TabControl).SelectedTab.Focus();
}

您会看到虚线矩形持续一毫秒,一旦执行上述事件,它就会消失。

此外,在加载时删除默认选定选项卡的虚线矩形

private void tabControl1_Enter(object sender, EventArgs e)
{
    (sender as TabControl).SelectedTab.Focus();
}

这两项更改对我都有效! 希望对某人有所帮助。

关于c# - 我可以删除 TabControl 上选项卡上的虚线焦点矩形吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216764/

相关文章:

c# - 使用 HTMLAgilityPack 选择具有属性数据 url 的元素

c# - MethodImplOptions.AggressiveInlining 与 TargetedPatchingOptOut

c# - 将列表框置于其他控件之上

c# - 如何将字符串添加到资源?

c# - 在 C# 中使用 Lisp

c# - 如何通过 Controller 操作和 ajax 保护文件下载?

c# - 单元测试项目 Azure Functions 无法加载文件或程序集 'Newtonsoft.Json'

c# - 当我在 C# 中单击另一个按钮时,如何调用按钮单击事件

c# - AND/OR 的 If 语句说明

c# - 为什么此 C# float 比较仅在 32 位中失败?