我有一个选项卡控件,需要删除所选选项卡周围的虚线焦点矩形。
我已将 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/