文章 "DoEasy. 控件 (第 19 部分): 在 TabControl 中滚动选项卡、WinForms 对象事件"

 

新文章 DoEasy. 控件 (第 19 部分): 在 TabControl 中滚动选项卡、WinForms 对象事件已发布:

在本文中,我将创建的功能是利用滚动按钮在 TabControl 中滚动选项卡标题。 该功能旨在将选项卡标题从控件的任一侧拖放到单行之中。

编译 EA,并在图表上启动它:


正如我们所见,一切都按预期运作。

但是有两个缺点:如果将鼠标悬停在隐藏的选项卡标题区域上,则标题会更改颜色来做出反应,就好像它在此区域中可见一样。 这就是为什么在调整可见区域大小时,控件的活动区域不会更改其大小的原因。 若要解决此问题,我需要根据可见区域计算活动区域,并调整其大小。

第二个缺点是,如果将选定的标题移到容器之外,并移动面板,则将显示隐藏标题的两个像素。 这与调整选项卡范围大小的计算,因为所选标题每侧的大小增加两个像素。 为了修复它,我需要找到一种方式来获取选项卡标题对象内相邻标题的尺寸,根据该尺寸计算可见性区域的大小。

作者:Artyom Trishkin