社区
C#
帖子详情
如何使鼠标拖动可以改变无边框的窗体的大小啊?
dugupiaoyun
2006-01-16 07:49:21
我有一个窗体设置为无边框的,但就不能更改大小了,怎么才能和有边框的时候一样,用鼠标按着一拖就能改变大小啊.能否给个例子先(最好给个简单点的,能改变窗体的高度的就行了).
...全文
317
11
打赏
收藏
如何使鼠标拖动可以改变无边框的窗体的大小啊?
我有一个窗体设置为无边框的,但就不能更改大小了,怎么才能和有边框的时候一样,用鼠标按着一拖就能改变大小啊.能否给个例子先(最好给个简单点的,能改变窗体的高度的就行了).
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuanzhihua520
2006-06-08
打赏
举报
回复
up
dugupiaoyun
2006-01-21
打赏
举报
回复
我不是说的要移动窗体,移动窗体我有更好的方法,我是说用鼠标来改变窗体的大小,而不是窗体的位置。
MyLf
2006-01-20
打赏
举报
回复
protected override void WndProc(ref System.Windows.Forms.Message m)
{
int WM_NCHITTEST = 0x0084;
int HTBOTTOMRIGHT= 17;
int HTBOTTOMLEFT = 16;
int HTCLIENT = 1;
if(m.Msg == WM_NCHITTEST)
{
int p = Control.MousePosition.X - this.Left + 2;//2为允许范围
if( p >= this.Width)//Mouse位于左边
m.Result = (IntPtr)HTBOTTOMRIGHT;
else if(p <= 2)//Mouse位于右边
m.Result = (IntPtr)HTBOTTOMLEFT;
else
m.Result = (IntPtr)HTCLIENT;
}
else
base.WndProc (ref m);
}
Mouse位于上边,下端的情况自己搞定。消息号可以查看winuser.h的定义
longzhi0001
2006-01-20
打赏
举报
回复
QQ太阳等级号码出售
*****我们是在校大学生.勤工俭学.赚点小钱.我们不刷屏.不恶意复制.忘管理员不要删除.谢谢您了.
做人的根本是诚信.购买可去我们的淘宝店铺.通过支付宝进行购买.(我们不推荐银行转帐)
※太阳号码(16级以)后优惠政策及说明:
1.目前QQ升级政策添加活跃天制度.挂一个太阳需要320天的挂机时间
2.16级以后,你就可以建永久群. 你还可以上传个性头像
3.16级以后,还可以有一个很有个性也是网民的象征的大太阳(来之不易)
4.另外用在线时间可以显示自己的尊贵身份.作为一位上网爱好者.您是否拥有呢?
※具体号码请您查询我们的主页:http://qqsystem.anyp.cn
※注意购买事项: (太阳等级16级)需320天(一天2小时在线)在线时间
1.号码均为16-17级以上.(非会员.非行号.无任何服务捆绑.绝对终生免费纯净号码.)
2.您打算买的号码有可能已经被别人购买.所以需要您多选几个号码.(主页上代*号的号码已经出售)
3.号码是有密码保护的.购买的时候我会提供. 本人身份证.密码问题.和答案.
4.上述号码报价已经是网上最低价格.请不要讲价.谢谢合作.还等什么?拿起你身边的电话.和我联系.得 到您 梦寐以求的太阳号码吧!
※太阳号码具体价格: 9位平号:54元 9位中号64元 9位靓号69元 9位情侣号码100元(2个号码)
※联系方式: (138 9784 9501锦州) (131 3098 0272. 0429-5126199兴城 ) 联系QQ:99069739
地址1.锦州师范专科高等学校.经济管理系.市场营销专业.
2. 辽宁省兴城市(市里)南关街.市联社老家属住宅1楼(千百度中介所)
网址: http://qqsystem.anyp.cn 淘宝店铺: http://shop33152002.taobao.com/
小龙广告语:生活在这个E时代,你可能没有汽车,因为我们提倡环保,你可能没有手机,因为家里有固定电话,你可能没有正版软件,因为很多人都还和你一样,你甚至可以没有电脑,因为还有网吧,但是你不能没有QQ,因为没有他,你将失去一个重要的身份,就失去很多朋友和兄弟。让QQ更美丽吧。让等级来说明我们的身份!
龙之网络 绝对精彩
dugupiaoyun
2006-01-20
打赏
举报
回复
上面的mousePosition定义忘了写private System.Drawing.Point mousePosition=new Point(0,0);
dugupiaoyun
2006-01-20
打赏
举报
回复
另外3楼的你写的代码可能是误解了我的题目意思了,而且你写的拖动也存在问题哦,没我自己想的好(如下):
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.Button == MouseButtons.Left)
{
this.mousePosition.X = e.X;
this.mousePosition.Y = e.Y;
}
}
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.Button == MouseButtons.Left)
{
this.Top = Control.MousePosition.Y - mousePosition.Y;
this.Left = Control.MousePosition.X - mousePosition.X;
}
}
dugupiaoyun
2006-01-20
打赏
举报
回复
用
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style |= 0xC0000;
return cp;
}
}
确实是可以拖动了,但是我的无边框窗体成了有边框的了~~~~。
另外介绍一下...cp.Style |= 0xC0000到底是个什么东东哦?不懂!
wantsfly
2006-01-18
打赏
举报
回复
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style |= 0xC0000;
return cp;
}
}
califord
2006-01-16
打赏
举报
回复
不会,帮你顶一下
anningning821009
2006-01-16
打赏
举报
回复
程序实现的思路是在窗体的MouseDown事件中获取鼠标相对于窗体的坐标,在MouseOver事件中获取新的鼠标坐标值,显然这两个坐标值的差加上窗体原来的坐标,就是窗体应该移动到的新的坐标值。然后把窗体位置移动到新坐标值处即可。
private Point mouseOffset;
private bool isMouseDown = false;
private void Form2_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
int xOffset;
int yOffset;
if (e.Button == MouseButtons.Left)
{
xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
yOffset = -e.Y - SystemInformation.CaptionHeight -
SystemInformation.FrameBorderSize.Height;
mouseOffset = new Point(xOffset, yOffset);
isMouseDown = true;
}
}
private void Form2_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (isMouseDown)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(mouseOffset.X, mouseOffset.Y);
Location = mousePos;
}
}
private void Form2_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
isMouseDown=false;
}
dugupiaoyun
2006-01-16
打赏
举报
回复
帮帮忙回个贴啊!
c# WinForm无
边框
拖拽及
窗体
放大缩小
c#在 无
边框
情况下,实现标题
拖动
及
鼠标
放在
边框
时可以通过
拖动
改变
窗体
大小
。
winform
窗体
无
边框
无控件移动并
拖动
改变
大小
不需要添加任何控件,
鼠标
可以放在边线上
拖动
窗体
,设置
窗体
进入退出动画效果
鼠标
按住
窗体
移动等
java中 实现无标题无
边框
的
窗体
能够用
鼠标
拖动
改变
窗口
大小
1、无标题栏,自定义
边框
,可以根据需要修改,做的简单; 2、像QQ面板一样,需要时...3、可以
拖动
修改
大小
,
拖动
移动位置; 4、2种效果比较,demo_02是最终效果,有点小问题,就是左、上拉伸时,右、下有点小小的抖动;
QT实现自定义UI-精美标题栏支持最小化最大化关闭
鼠标
拖动
改变
大小
1:真正意义上的无
边框
自定义标题栏,支持最小化最大化关闭,支持标题栏双击实现,支持
鼠标
拖动
,支持
鼠标
在
边框
处
拖动
改变
窗体
大小
,网络上的绝大部分都是扯蛋,要么不支持
鼠标
改变
界面
大小
,要么
鼠标
移到其它按钮...
CustomCaptionMDI.zip
无
边框
窗体
不在任务栏中显示图标。一般情况下,要使它能在任务栏中...自绘标题栏及按钮后,
拖动
改变
窗体
大小
会闪烁,这不是双缓存问题可以处理_光处理WM_NCPAINT不够,还要WM_NCACTIVATE,不然窗口一失去焦点就原形毕露。
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章