以下代码为修改窗体尺寸的代码:

const int HTLEFT = 10;
const int HTRIGHT = ;
const int HTTOP = ;
const int HTTOPLEFT = ;
const int HTTOPRIGHT = ;
const int HTBOTTOM = ;
const int HTBOTTOMLEFT = 0x10;
const int HTBOTTOMRIGHT = ; protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0084:
base.WndProc(ref m);
Point vPoint = new Point((int)m.LParam & 0xFFFF,
(int)m.LParam >> & 0xFFFF);
vPoint = PointToClient(vPoint);
if (vPoint.X <= )
if (vPoint.Y <= )
m.Result = (IntPtr)HTTOPLEFT;
else if (vPoint.Y >= ClientSize.Height - )
m.Result = (IntPtr)HTBOTTOMLEFT;
else m.Result = (IntPtr)HTLEFT;
else if (vPoint.X >= ClientSize.Width - )
if (vPoint.Y <= )
m.Result = (IntPtr)HTTOPRIGHT;
else if (vPoint.Y >= ClientSize.Height - )
m.Result = (IntPtr)HTBOTTOMRIGHT;
else m.Result = (IntPtr)HTRIGHT;
else if (vPoint.Y <= )
m.Result = (IntPtr)HTTOP;
else if (vPoint.Y >= ClientSize.Height - )
m.Result = (IntPtr)HTBOTTOM;
break;
case 0x0201://鼠标左键按下的消息
//m.Msg = 0x00A1;//更改消息为非客户区按下鼠标
//m.LParam = IntPtr.Zero;//默认值
//m.WParam = new IntPtr(2);//鼠标放在标题栏内

        //以下做了一些修正,确保放大缩小按钮区域可以正常使用

        Point point = Control.MousePosition;
        point = PointToClient(point);
        if (point.X < this.Width - 100 && point.Y < 30)
        {
          m.Msg = 0x00A1;//更改消息为非客户区按下鼠标
          m.LParam = IntPtr.Zero;//默认值
          m.WParam = new IntPtr(2);//鼠标放在标题栏内
        }

            base.WndProc(ref m);
break;
default:
base.WndProc(ref m);
break;
}
}

C# 改变无边框窗体的尺寸大小的更多相关文章

  1. wpf无边框窗体移动和大小调整

    原文:wpf无边框窗体移动和大小调整   using System; using System.Windows; using System.Windows.Interop; namespace Wpf ...

  2. Winform拖拽改变无边框窗体大小

    大家在进行Winform开发过程中,很容易就可以完成一个窗口的布局工作,但现在的软件界面美化效果一个比一个好,很多软件都是无边框的,于是乎,你是不是也感叹:winform的带边框的窗体如此丑陋,我一定 ...

  3. C# 改变无边框窗体尺寸大小的方法

    ; ; ; ; ; ; const int HTBOTTOMLEFT = 0x10; ; protected override void WndProc(ref Message m) { switch ...

  4. C# WinForm 拖动无边框窗体 改变无边框窗体尺寸

    经常遇到这种情况.窗体的边框去掉了.然后种种问题就出来了:不能拖动.不能改变窗体大小.不能......当然.肯定有解决方案滴*^_^*今天的目标就是:可以直接拖动没有边框的窗体.可以直接拉拽窗体改变其 ...

  5. [转]C#改变无边框窗体大小

    #region 改变窗体大小 const int WM_NCHITTEST = 0x0084; ; //左边界 ; //右边界 ; //上边界 ; //左上角 ; //右上角 ; //下边界 cons ...

  6. Qt 无边框窗体改变大小 完美实现(全部自己实现)

    近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo, ...

  7. Qt 无边框窗体改变大小 完美实现

    近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo, ...

  8. WinForm 无边框窗体改变尺寸及移动窗体

    #region 无边框窗体移动改变大小 [DllImport("user32.dll")] public static extern bool ReleaseCapture(); ...

  9. MFC 无边框窗体实现用鼠标拖动窗体边缘实现窗体大小变化

    无边框窗体如何实现用鼠标拖动窗体边缘实现窗体大小变动呢?下面介绍一种方法,通过以下几个步骤即可实现: 1.实现WM_NCHITTEST消息,实现四条边框的模拟 2.实现WM_NCLBUTTONDOWN ...

随机推荐

  1. Fresco 使用笔记(一):加载gif图片并播放

    项目总结 --------------------------------------------------------------------- 前言: 项目中图文混合使用的太多太多了,但是绝大部 ...

  2. Python基础(3)--列表和元组

    Python包含6种内建序列:列表.元组.字符串.Unicode字符串.buffer对象.xrange对象 本篇主要讨论最常用的两种类型:列表.元组 本文地址:http://www.cnblogs.c ...

  3. 【读书笔记】iOS-GCD-API

    一,Dispatch Queue dispatch_async(queue, ^{ /* *想执行的任务 */ }); 其中queue分为两种: 1,Serial Dispatch Queue 等待现 ...

  4. iOS 删除 Main.storyboard 和 LaunchScreen.storyboard

    第一步: 右键选中Main.storyboard —- delete —— Move to Trash LaunchScreen同理 第二步 点击工程名,就是最顶级目录 右侧出现general选项卡 ...

  5. iOS开发基础框架

    ---恢复内容开始--- //appdelegate ////  AppDelegate.m//  iOS开发架构////  Copyright © 2016年 Chason. All rights ...

  6. iOS网络-06-监听Iphone的网络状态

    使用系统的方法来监听网络状态 系统的方法是通过通知机制来实现网络状态的监听 实现网络状态监听的步骤 定义Reachability类型的成员变量来保存网络的状态 @property (nonatomic ...

  7. java获取时间戳的方法

    JAVA 获取当前月的初始时间的时间戳 public static long getMonthFirstDay() { Calendar calendar = Calendar.getInstance ...

  8. 简单的Windows登陆界面设计

    要求: 1.用户名必须为字母. //限定用户名必须为字母 private void txtName_KeyPress(object sender, KeyPressEventArgs e) { if ...

  9. SAM4E单片机之旅——23、在AS6(GCC)中使用FPU

    浮点单元(Floating Point Unit,FPU),是用于处理浮点数运算的单元. 为使用FPU,除了需要启用FPU外,还需要对编译器进行设置,以使其针对浮点运算生成特殊的指令.虽然在Atmel ...

  10. SSL协议详解

    背景介绍    最近在看<密码学与网络安全>相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL. 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识.     1.密 ...