关于 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 而编写的函数...的更多相关文章

  1. Delphi 获取当前鼠标下的控件内容

    Delphi 获取当前鼠标下的控件内容 主要函数: GetCursorPos://获取鼠标的位置 WindowFromPoint://获取制定point下的handle GetClassName:// ...

  2. js实现自己定义鼠标右键-------Day45

    又是周末了,只是事实上这在国外应该算是一周的開始吧,无论怎么说,今天是在歇息,放松我紧绷的神经,放松我有些疲惫的精神,昨晚上要裂了般的头疼,仿佛全部的数据都在脑子字面飞舞旋转,伴着一阵阵的恶心,当时把 ...

  3. 手动添加 Git bash 到鼠标右键

    由于不知原因,右键没有了Git Bash Here,没有这个右键菜单导致获取Git仓库中的代码很不方便,所以决定通过注册表的方式将这个菜单加出来. 1.win + R,输入"regedit& ...

  4. win10 uwp 获取按钮鼠标左键按下

    我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? 其实UWP已经没有MouseLeftButtonDown,于是我们可以使用一个简单方法去获取鼠标左键按下. 我们在xa ...

  5. Html鼠标右键菜单代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. JQuery模拟网页中自定义鼠标右键菜单

    题外话.......最近在开发一个网站项目的时候,需要用到网页自定义右键菜单,在网上看了各路前辈大神的操作,头晕目眩,为了达到目的,突然灵机一动,于是便有了这篇文章. 先放个效果图(沾沾自喜,大神勿喷 ...

  7. Python_Selenium之鼠标右键

    Python_Selenium之鼠标右键 一.步骤: (以百度为例)获取百度网址 找到需要右键的元素(定位),xpath表达式为“//*[@id='lg']/img” 然后,右键选择“在新标签页中打开 ...

  8. OpenLayers 3 之 加入地图鼠标右键菜单

    加入右键菜单,首先我们要监听鼠标右键点击的操作,我们知道鼠标右键事件名是 contextmenu.当鼠标在 html 元素之上,点击鼠标右键,便会触发 contextmenu 事件,在 context ...

  9. Javascript和jquery事件--鼠标右键事件,contextmenu

    右键点击触发是浏览器的默认菜单事件contextmenu,你可以选择阻止它,使用event.preventDefault();或者return false;. 想要定义右键点击事件,关注的是mouse ...

  10. jquery-11 如何制作鼠标右键菜单

    jquery-11 如何制作鼠标右键菜单 一.总结 一句话总结:核心原理:找到右键菜单事件contextmenu,return false去掉默认事件,然后判断用户是否点的右键,然后在鼠标的位置显示菜 ...

随机推荐

  1. VSCode搭建Go语言环境

    一.安装go 1. 获取go安装包   https://golang.org/dl/ 2. 本地安装(省略) 3. 配置和环境变量 GO111MODULE 是否支持gomod GOROOT go安装的 ...

  2. vscode 开发Vue项目

    写在开头 Vue作为前端项目,本身不依赖IDE,完全可以使用任何文本编辑器进行开发.我使用vscode仅是因为比较习惯,vscode几乎可以作为任何项目的开发IDE. 环境安装 安装nodejs,去官 ...

  3. centos7 安装jupyter

    1.基本包安装 yum update -y yum install python-pip -y yum install bzip2 -y yum groupinstall "Developm ...

  4. HTML学习笔记5----属性

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  5. Ubuntu 20.04 部署Prmoetheus+grafana+mysql+mysqld_exporter+node_exporter

    Prometheus简介 Prometheus是一个功能强大的开源监控系统,可从您的服务中收集指标并将其存储在时间序列数据库中.它通过Grafana等工具提供多维数据模型,灵活的查询语言和多样化的可视 ...

  6. Unity连接海康摄像头(shader转码)硬解码

    1.第一种方法 之前写过就不写了给个地址 2.第二种方法 用海康的SDK (shader转码) 先上效果 demo下载地址: 点击下载 开启多个摄像头的话 第二种比一种流畅

  7. springboot java redis 监听超时事件

    package ideal4j.pfa.config.redis; import cn.hutool.core.date.DateTime; import com.alibaba.fastjson.J ...

  8. mac 打开活动监视器(任务管理器)

    打开方式 1.快捷键 command+option+esc 选择需要强制退出的app 2.通过菜单 需要查看完整的占用率 应用程序=>实用工具=〉活动监视器

  9. Mysql学习:4、DML命令(增删改查)及密码修改

    1.查询表中所有数据: select * from students; 2.插入数据: insert into students (id,name,email,address) values(1,'张 ...

  10. 威纶通作为modbusTcp主站应用

    1.在威纶通中添加modbus Tcp,作为主机,在Tcp服务器客户端模型中作为客户端: 2.威纶通地址与modbus标准功能码的对应关系: 地址1x_single_Bit,对应02功能码(读输入线圈 ...