关于 TabControl 获取 被鼠标右键的 TabPage 而编写的函数...
功能:
1.不需考虑 SizeMode 情况
2.可以获取通过鼠标右键点击的 Tab
3.且顺便返回鼠标左键点的 Tab
/// <summary>
/// 获取被鼠标点击的TabPage [包括鼠标右键]
///
/// 时间:2021/08/09 22:15:41
/// 适用:通用性
/// 测试:正确
/// </summary>
/// <param name="tc"></param>
/// <param name="e"></param>
/// <param name="clkTp"></param>
/// <returns></returns>
public static bool Clk(TabControl tc, MouseEventArgs e, out TabPage clkTp)
{
clkTp = null;
if (e.Button == MouseButtons.Left)
{
clkTp = tc.SelectedTab;
return true;
}
bool bol = false;
int cnt = tc.TabPages.Count;
if (cnt < 1)
return bol;
Rectangle rect;
int eY = e.Y;
int eX = e.X;
int i;
cnt--;
for (i = cnt; i > -1; i--)
{
rect = tc.GetTabRect(i);
bol = rect.Contains(e.Location);
if (bol)
break;
}
if (i > -1)
{
clkTp = tc.TabPages[i];
bol = true;
}
return bol;
}
交流 QQ : 2412366909@qq.com
手机号码:177-7499-4428
注:本人测试过程中暂未发现造成存取不正确的问题
Rectangle rect;
关于 TabControl 获取 被鼠标右键的 TabPage 而编写的函数...
原文:https://www.cnblogs.com/grCod/p/15120989.html