Winform自定义无边框窗体

目的:

1、将窗体设置成无边框,如下面效果图

2、该无边框窗体添加了窗体放大、缩小(可以根据需要只能横向放大缩小  或者  竖向放大缩小)的功能

  

Point vPoint = new Point((int)m.LParam & 0xFFFF, (int)m.LParam >> 16 & 0xFFFF);
vPoint = PointToClient(vPoint);
if (vPoint.X <= 5)
{
  if (vPoint.Y <= 5)
  {
    m.Result = (IntPtr)GuyingHtTopLeft;
  }
  else
  {
    m.Result = vPoint.Y >= ClientSize.Height - 5 ? (IntPtr)GuyingHtBottomLeft : (IntPtr)GuyingHtLeft;
  }
}
else if (vPoint.X >= ClientSize.Width - 5) {   if (vPoint.Y <= 5)   {     m.Result = (IntPtr)GuyingHtTopRight;   }   else   {     m.Result = vPoint.Y >= ClientSize.Height - 5 ? (IntPtr)GuyingHtBottomRight : (IntPtr)GuyingHtRight;   } } else if (vPoint.Y <= 5)
{   m.Result = (IntPtr)GuyingHtTop; } else if (vPoint.Y >= ClientSize.Height - 5) {   m.Result = (IntPtr)GuyingHtBottom; }

  

3、添加鼠标左键点击

case 0x0201: //鼠标左键按下的消息 
if ( /*this.*/Draggable)
{
    m.Msg = 0x00A1; //更改消息为非客户区按下鼠标 
    m.LParam = IntPtr.Zero; //默认值 
    m.WParam = new IntPtr(2); //鼠标放在标题栏内 
}
base.WndProc(ref m);
break;

  

 

 

效果图

 

源码下载地址:

https://download.csdn.net/download/u011392711/11109822

转载于:https://www.cnblogs.com/qtiger/p/10696813.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值