C# 无边框窗体之窗体移动实现代码
点击窗体任意位置移动窗体:
需要添加命名空间:
using System.Runtime.InteropServices;
代码如下:
private const int WM_NCLBUTTONDOWN = 0x00A1;
private const int HTCAPTION = 2;
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern bool ReleaseCapture();
protected override void OnMouseDown( MouseEventArgs e )
{
base.OnMouseDown( e );
if (e.Button == MouseButtons.Left) // 按下的是鼠标左键
{
ReleaseCapture(); // 释放捕获
SendMessage(this.Handle, WM_NCLBUTTONDOWN, (IntPtr)HTCAPTION, IntPtr.Zero); // 拖动窗体
}
}
相关推荐
-
C#利用反射技术实现去掉按钮选中时的边框效果
本文实例讲述了C#利用反射技术实现去掉按钮选中时的边框效果.分享给大家供大家参考.具体如下: public void HideFocusCues(Control control) { Type vType = typeof(Control); FieldInfo vFieldInfo = vType.GetField("uiCuesState", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic |
-
解析C#中如何把控件的边框角画为圆弧
复制代码 代码如下: private void Draw(Graphics graphics, Control control) { float X = float.Parse(control.Width.ToString()) - 1; float Y = float.Parse(control.Height.ToString()) - 1; PointF[] pointfs = {
-
C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法
本文实例讲述了C#实现WinForm禁止最大化.最小化.双击标题栏.双击图标等操作的方法.分享给大家供大家参考.具体实现方法如下: protected override void WndProc(ref Message m) { if (m.Msg==0x112) { switch ((int) m.WParam) { //禁止双击标题栏关闭窗体 case 0xF063: case 0xF093: m.WParam = IntPtr.Zero; break; //禁止拖拽标题栏还原窗体 case
-
C#通过重写Panel改变边框颜色与宽度的方法
本文实例讲述了C#通过重写Panel改变边框颜色与宽度的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.ComponentModel; using System.Windows.Forms; using System.Drawing; namespace Imag
-
C#中无边框窗体移动的简单实例
首先建一个Windows应用程序将Form1的 FormBorderStyle属性设置为Noe 复制代码 代码如下: Point mouseOff;//鼠标移动位置变量 bool leftFlag;//标记是否为左键 private void Form1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left)
-
C#实现Winform无边框移动的方法
本文实例讲述了C#实现Winform无边框移动的方法.分享给大家供大家参考.具体如下: const int HTLEFT = 10; const int HTRIGHT = 11; const int HTTOP = 12; const int HTTOPLEFT = 13; const int HTTOPRIGHT = 14; const int HTBOTTOM = 15; const int HTBOTTOMLEFT = 0x10; const int HTBOTTOMRIGHT = 17
-
C# 无边框窗体边框阴影效果的简单实现
通过下面代码在构造函数中调用方法 SetShadow(); 即可实现无边框窗体的阴影效果了 需要添加命名空间 using System.Runtime.InteropServices; 复制代码 代码如下: private const int CS_DropSHADOW = 0x20000; private const int GCL_STYLE = (-26); [DllImport("user32.dll", CharSet = CharSet.Auto)]
-
C# 改变无边框窗体尺寸大小的方法
复制代码 代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)const int HTLEFT = 10;const int HTRIGHT = 11;const int HTTOP = 12;const int HTTOPLEFT = 13;const int HTTOPRIGHT = 14;const int HTBOTTOM = 15;const int HTBOTTOMLEFT = 0x10;cons
-
C#中改变DataGridView控件边框颜色的方法
DataGridView是Visual Studio中一个最重要的数据控件.它可以应用在大多数场合,功能强大,使用灵活.本文要重点介绍一下,如果设置DataGridView的边框颜色. 比尔盖次说"Apple机上没有哪一个软件我是觉得应该是微软首创的",这说明盖次对微软软件功能强大的自信心.而乔布斯而说,微软的软件毫无艺术感可言!这说明什么,说明微软的东西--丑! 乔帮主不愧是乔帮主,真是入木三分,直中要害!是的,默认情况下的DataGridView,真是丑!尤其是那个黑色的边框,不是
-
C#实现Winform中打开网页页面的方法
本文实例讲述了C#实现Winform中打开网页页面的方法.分享给大家供大家参考.具体实现方法如下: 1.首先比较简单的我们知道有类似的方法如下 复制代码 代码如下: System.Diagnostics.Process.Start("http://www.baidu.com"); 2.比较灵活一点,可以定义窗口大小,我们要实现网页中脚本打开页面的方法,即window.open 那么,我们必然会想,如何调用页面的脚本呢?其实可以利用WebBrowser来实现 //连接 string ur
随机推荐
- Perl List::Util模块使用实例
- 获取音乐文件的播放时间及当前进度
- jQuery动画与特效详解
- Windows Server 2012 服务器优化图文方法
- 三层+存储过程实现分页示例代码
- Swift教程之属性详解
- AJAX客户端说明,XMLHttpRequest对象
- css Sprites小实例代码
- 构建基于虚拟用户的vsftpd服务器应用
- PowerShell中使用Like运算符配合通配符查找字符串例子
- C语言模拟实现C++的继承与多态示例
- sqlserver 通用分页存储过程
- Mysql的语句生成后门木马的方法
- 一个基于jquery的文本框记数器
- C#从控制台读取字符串的方法
- 网络管理员常见错误集锦
- java application maven项目打自定义zip包实例(推荐)
- 浅谈Emergence.js 检测元素可见性的 js 插件
- 浅谈python数据类型及类型转换
- Linux下rz/sz安装及使用方法示例