解决cefsharp在winform中不显示tooltipText问题(网页元素的title提示)
1.监听网页属性改变事件
webView.PropertyChanged += webView_PropertyChanged;
2.拖一个ToolTip控件到窗体
3.在webView_PropertyChanged这个事件处理函数中,获取TooltipText并显示出来
//隐藏toolTip
if (this.IsHandleCreated)
{
this.BeginInvoke(new MethodInvoker(() =>
{
if (this.IsHandleCreated && !this.IsDisposed)
{
if (this.toolTip1.Active)
{
this.toolTip1.Hide(this);
}
}
}));
} if (e.PropertyName == "TooltipText") //tooltipText改变事件
{
string tooltipText = this.webView.TooltipText;
Point elementPos = new Point(Cursor.Position.X - this.Location.X, Cursor.Position.Y - this.Location.Y);
if (!String.IsNullOrEmpty(tooltipText))
{
this.Invoke(new MethodInvoker(() =>
{
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
timer.Interval = ;
timer.Tick += (timer_sender, timer_e) =>
{
Point nowPos = new Point(Cursor.Position.X - this.Location.X, Cursor.Position.Y - this.Location.Y);
//if ((nowPos.X <= elementPos.X + 20 && nowPos.X >= elementPos.X - 20) && (nowPos.Y <= elementPos.Y + 20 && nowPos.Y >= elementPos.Y - 20)) //鼠标停留了500ms(范围限定在一定范围)
if (this.webView.TooltipText == tooltipText) //600毫秒后,tooltipText没变
{
this.toolTip1.Show(tooltipText, this, nowPos.X + , nowPos.Y + );
}
(timer_sender as System.Windows.Forms.Timer).Stop();
(timer_sender as System.Windows.Forms.Timer).Dispose();
};
timer.Start(); }));
}
}
解决cefsharp在winform中不显示tooltipText问题(网页元素的title提示)的更多相关文章
- 解决DataGridView在多线程中无法显示滚动条的问题
在多线程中对DataGridView指定 DataSource 来填充数据,更新数据的时候,会导致DataGridView出现假死,显示错误或者滚动条无法显示的问题,在保证了DataGridView的 ...
- C# Winform 中webBrowser显示html内容时禁止错误提示的方法
在winform中有一个控件可以显示html的内容,该控件就是webbrowser,设置它的DocumenText属性为HTML的内容即可. 在使用WebBrowser做UI的时候,我们有时不希望里面 ...
- winform中让显示的图片覆盖到父窗体保持父窗体的不可选中的状态,且任务栏中不会显示子窗体的任务选项
要求:为父窗体添加一个类似于加载等待的功能,当窗体点击备份时弹出且覆盖掉窗体 问题一产生:当为弹窗添加控件时,form.show();导致窗体卡死,控件变得透明化; 问题一分析:当窗体show();之 ...
- WinForm中DataGridView显示更新数据--人性版
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 把一个窗体嵌入到WinForm中进行显示,以CMD窗口为例
1.添加引用 using System.Runtime.InteropServices; 2. 加入以下代码段 [DllImport("User32.dll ", EntryPoi ...
- 在winform中使用cefsharp.winform嵌入浏览器(含视频教程)
免费视频教程和源码: https://www.bilibili.com/video/av84573813/ 1. 开始使用CefSharp在Winform中嵌入网页 2. 解决重复打开Cefsharp ...
- 在Eclipse中运行Web项目Jsp网页时提示端口被占用的解决办法:Several ports (8005, 8888, 8009) required by Tomcat v9.0 Server at localhost are already in use.
问题: 在Eclipse中运行Web项目Jsp网页启动Tomcat时提示端口被占用: Several ports (8005, 8080, 8009) required by Tomcat v9.0 ...
- C#中winform中panel重叠无法显示问题
C#中winform中panel重叠无法显示问题: 最近开发一个项目有个需求是需要多个模式来回切换的,本来考虑使用多个窗口来实现这个功能,但是这样做浪费资源,而且工作量大,所以想到使用panel控件来 ...
- C# WinForm 中Label自动换行 解决方法
在TableLayoutPannel中放着一些Label如果把Label的AutoSize属性设成True的话,文字超过label长度时就会自动增加,直到后面的字出窗体以外设置成False时,一旦到达 ...
随机推荐
- Win10 UWP 开发系列:使用多语言工具包让应用支持多语言
之前我在一篇blog中写过如何使用多语言工具包,见http://www.cnblogs.com/yanxiaodi/p/3800767.html 在WinEcos社区也发布过一篇详细的文章介绍多语言工 ...
- DevExtreme 学习应用[1]
DevExtreme学习开发 [1] 用HTML开发手机应用,看一哈帮助文档觉得还很不错. 在开发前一定要安装DevExteme 下载连接地址: ftp://211.101.1.108/DevExp ...
- 【Win10开发】如何在页面之间传值
我们知道UWP是通过不同的页面来展示不同的内容的,那么我们该怎么进行页面之间的传值呢? 首先我们在MainPage里面写一个ListView来展示一些英文单词. List<English> ...
- 解决eclipse中logcat不显示log的问题
调试程序需要打印一些消息出来,logcat不好用的话就很麻烦了.这个问题折腾了好久,为啥就是不出来呢? 上网找了很多解决办法: 重启eclipse 重启adb 重启logcat ......等等好多 ...
- 各种JS模板引擎对比数据(高性能JavaScript模板引擎)
最近做了JS模板引擎测试,拿各个JS模板引擎在不同浏览器上去运行同一程序,下面是模板引擎测试数据:通过测试artTemplate.juicer与doT引擎模板整体性能要有绝对优势: js模板引擎 Ja ...
- 【Java学习系列】第1课--Java环境搭建和demo运行
本文地址 分享提纲: 1. java环境的搭建 2. java demo代码运行 3.参考文档 本人是PHP开发者,一直感觉Java才是程序的王道(应用广,科班出身),所以终于下决心跟一跟. 主要是给 ...
- ABP之动态WebAPI(二)
HttpControllerDescriptor与HttpActionDescriptor HttpControllerDescriptor封装了某个HttpController类型的元数据,我们可以 ...
- CentOS操作记录
基本操作记录 1.centos已经进到图形界面后怎么打开命令行:ctrl+alt+F3 得到如下命令界面 用用户名和密码登录 切换回图形界面时输入的命令:ctrl+alt+F1 2.重新启动系统:#r ...
- [注意]SerialPort操作PCI-1621D多串口卡,出现异常"参数不正确"
开发LED大屏显示.40-20mA模拟量输出的时候,经常要与串口打交道.但是Windows自带的SerialPort串口操作组件貌似兼容性 不是太好,或是SerialPort本身有BUG,在操作PCI ...
- hive 删除分区数据
alter table 表 drop partition(分区); 例: 表是: user_all_info 分区是 day_id,month_id 我要删除10月10号的数据 那么: alter ...