| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1643 人关注过本帖
标题:如何编写一个去掉TitleBar的可移动的form
只看楼主 加入收藏
琥珀之风
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-11-3
收藏
 问题点数:0 回复次数:11 
如何编写一个去掉TitleBar的可移动的form

大哥大姐们请给小弟点指点:
就是像msn那样去掉了TitleBar之后,托拽其控件的任何一个位置都会使整个控件移动。
void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (isMouseDown != false)
{
this.Left += e.X - preX;
this.Top += e.Y - preY;
preX = e.X;
preY = e.Y;
}
//throw new Exception("The method or operation is not implemented.");
}
我这么写不行~出现残像~
高手帮帮忙~谢谢了

搜索更多相关主题的帖子: form TitleBar 编写 
2006-04-30 13:36
水中游
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:149
专家分:0
注 册:2006-3-20
收藏
得分:0 

1. 在Main里面定义鼠标变量和增加函数,如:

int dx;

int dy;

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)

{

if(e.Button ==MouseButtons.Left)

{ dx=e.X ;dy=e.Y;

}

}

private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)

{

if(e.Button ==MouseButtons.Left)

{

this.Left =this.Left +(e.X -dx);

this.Top =this.Top +(e.Y -dy);

Application.DoEvents ();/*可以节省运行资源*/

}

}


锻炼中学习……学习中成长……
2006-04-30 13:48
琥珀之风
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-11-3
收藏
得分:0 
谢谢~
Application.DoEvents ();
这句是干什么的呢?
我就是少这句,然后就出残像了

[此贴子已经被作者于2006-4-30 13:55:05编辑过]


恶魔只是将人类引入堕落的深渊 天使吹响了末日审判的号角 ——恶魔的追随者
2006-04-30 13:55
水中游
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:149
专家分:0
注 册:2006-3-20
收藏
得分:0 

运行应该可以吧
我测试过了
至于Application.DoEvents ();/*可以节省运行资源*/

当运行 Windows 窗体时,它将创建新窗体,然后该窗体等待处理事件。该窗体在每次处理事件时,均将处理与该事件关联的所有代码。所有其他事件在队列中等待。在代码处理事件时,应用程序并不响应。例如,当将另一窗口拖到该窗口前面时,该窗口不重新绘制。

如果在代码中调用 DoEvents,则您的应用程序可以处理其他事件。例如,如果您有向 listBox添加数据的窗体,并将 DoEvents 添加到代码中,那么当将另一窗口拖到您的窗体上时,该窗体将重新绘制。如果从代码中移除 DoEvents,那么在按钮的单击事件处理程序执行结束以前,您的窗体不会重新绘制。


锻炼中学习……学习中成长……
2006-04-30 14:05
琥珀之风
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-11-3
收藏
得分:0 
恩~没问题了~
非常感谢~

恶魔只是将人类引入堕落的深渊 天使吹响了末日审判的号角 ——恶魔的追随者
2006-04-30 14:06
水中游
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:149
专家分:0
注 册:2006-3-20
收藏
得分:0 
Application.DoEvents ();主要是处理当前在消息队列中的所有 Windows 消息。

锻炼中学习……学习中成长……
2006-04-30 14:07
xxxxx52
Rank: 4
等 级:贵宾
威 望:13
帖 子:689
专家分:0
注 册:2006-4-30
收藏
得分:0 
学习了~

好的资料下载网站http:///in.asp?id=xuelion2006 嘿嘿帮点一下拉~
2006-04-30 14:14
琥珀之风
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-11-3
收藏
得分:0 

我看了C#1周了(把c#入门经典看了看),对"事件"那块很头疼~感觉像c++里的函数指针,又有点像MFC里的消息映射~
感觉很诡异~
而且每个控件都有很多事件~。。非常痛苦。。。

c#应该怎么学呀~?

恶魔只是将人类引入堕落的深渊 天使吹响了末日审判的号角 ——恶魔的追随者
2006-04-30 14:15
水中游
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:149
专家分:0
注 册:2006-3-20
收藏
得分:0 

多实践应该可以帮助你理解的
这是我个人的看法
你也是学生吗?


锻炼中学习……学习中成长……
2006-04-30 14:23
琥珀之风
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-11-3
收藏
得分:0 
快大三了

恶魔只是将人类引入堕落的深渊 天使吹响了末日审判的号角 ——恶魔的追随者
2006-04-30 14:28
快速回复:如何编写一个去掉TitleBar的可移动的form
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025908 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved