.net WebBrowser上 移动父窗口
来源:互联网 发布:问卷数据分析步骤 编辑:程序博客网 时间:2024/06/06 07:23
如果父窗口的标题栏隐藏,无法移动,如果WebBrowser覆盖此窗口的话,则鼠标在WebBrowser 上移动时,需要移动父窗口,可以调用SendMessage
public partial class Form10 : Form
{
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wparam, int lparam);
public Form10()
{
InitializeComponent();
}
private void Form10_Load(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("http://www.baidu.com");
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.MouseDown += new HtmlElementEventHandler(Document_MouseDown);
}
void Document_MouseDown(object sender, HtmlElementEventArgs e)
{
SendMessage(Handle, 0x00A1, 2, 0);//拖动窗体
}
}
注:以上会导致所有可输入控件的鼠标事件都执行Document_MouseDown,可根据webBrowser1.Document.GetElementById 将个别背景或指定控件注册Document_MouseDown事件。
另外,如果是窗口边框隐藏,则鼠标在窗口上移动时,需要移动窗口时,可以有如下方法:
1.如上例SendMessage
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)//按下的是鼠标左键
{
Capture = false;//释放鼠标,使能够手动操作
SendMessage(Handle, 0x00A1, 2, 0);//拖动窗体
}
}
2.捕捉Windows消息
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0201://鼠标左键按下的消息
m.Msg = 0x00A1;//更改消息为非客户区按下鼠标
m.LParam = IntPtr.Zero;//默认值
m.WParam = new IntPtr(2);//鼠标放在标题栏内
break;
}
base.WndProc(ref m);
}
- .net WebBrowser上 移动父窗口
- VB.NET 通过窗口句柄,获取webbrowser控件HTML内容
- 移动窗口,自动跳转到vs2005上
- 窗口中创建WebBrowser
- Asp.net webBrowser 打印
- ASP.NET WebBrowser 运用
- MFC 鼠标点击到窗口上可以移动
- 移动窗口
- 移动窗口
- 移动窗口
- 移动窗口
- vb.net做的无窗口应用程序如何实现移动
- 禁止webbrowser弹出窗口,禁止webbrowser读取缓存
- aps.net子窗口刷父窗口
- 父窗口和子窗口同时移动问题?
- MFC限制子窗口只在父窗口内移动
- .NET 2.0 Webbrowser 一些用法
- VB.NET中使用WebBrowser
- 日语用言体言的由来
- actionbar和actionbar上title的颜色设置
- Android apk签名方法
- 数据挖掘工具软件
- 判断本地系统目录下是否存在XML文件,如果不存在就创建一个XMl文件,若存在就在里面执行添加数据
- .net WebBrowser上 移动父窗口
- 读王爽老师汇编语言笔记---第一个汇编程序
- 关于序列号的一些table
- learn prolog now 2
- Struts2标签库(10):<s:select/>
- Hibernate缓存机制详解
- C#
- 探索并发编程(一)------操作系统篇
- 椭圆曲线ECC加密算法