C#窗体隐藏标题栏,想用拖动窗体
下面两种方法都可一解决我的问题,有能够实现其中一种的请进!感谢了!1.如果隐藏标题栏,那么在运行时候,窗体上用鼠标单击左键不放就要能够拖动窗体,求解决方法!2.如果不隐藏...
下面两种方法都可一解决我的问题,有能够实现其中一种的请进!感谢了!
1.如果隐藏标题栏,那么在运行时候,窗体上用鼠标单击左键不放就要能够拖动窗体,求解决方法!
2.如果不隐藏标题栏,能不能给标题栏添加图片,对最大化和最小化的图标的背景图片进行独立设置?求解决方法!
希望高手指点!!
最好有点代码配合一下子,谢谢! 展开
1.如果隐藏标题栏,那么在运行时候,窗体上用鼠标单击左键不放就要能够拖动窗体,求解决方法!
2.如果不隐藏标题栏,能不能给标题栏添加图片,对最大化和最小化的图标的背景图片进行独立设置?求解决方法!
希望高手指点!!
最好有点代码配合一下子,谢谢! 展开
展开全部
private bool m_isMouseDown = false;
private Point m_mousePos = new Point();
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
m_mousePos = Cursor.Position;
m_isMouseDown = true;
}
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
m_isMouseDown = false;
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (m_isMouseDown)
{
Point tempPos = Cursor.Position;
this.Location = new Point(Location.X + (tempPos.X - m_mousePos.X), Location.Y + (tempPos.Y - m_mousePos.Y));
m_mousePos = Cursor.Position;
}
}
把这一段复制到你的窗体代码里就可以了。呵呵。刚写的,我测试过,没问题
是实现你的第一种方法,用的是重载事件,所以你不需要特别添加事件,复制过去就可以生效。
private Point m_mousePos = new Point();
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
m_mousePos = Cursor.Position;
m_isMouseDown = true;
}
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
m_isMouseDown = false;
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (m_isMouseDown)
{
Point tempPos = Cursor.Position;
this.Location = new Point(Location.X + (tempPos.X - m_mousePos.X), Location.Y + (tempPos.Y - m_mousePos.Y));
m_mousePos = Cursor.Position;
}
}
把这一段复制到你的窗体代码里就可以了。呵呵。刚写的,我测试过,没问题
是实现你的第一种方法,用的是重载事件,所以你不需要特别添加事件,复制过去就可以生效。
展开全部
你还是隐藏吧,在窗体 mousemove 还是什么事件里判断如果鼠标左键按住就把窗体坐标改变就行了,如果用第二种方法比较麻烦,可能需要你自己重绘控件或者使用皮肤
追问
能够稍微的添加点代码展示一下吗,只要窗体移动的那部分就可以了!谢了~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能的,以前做MyQQ的时候为了美观,把最上面的去了,然后加了一段代码就能移动了。
追问
代码能看看吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询