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# 无边框窗体边框阴影效果的简单实现
通过下面代码在构造函数中调用方法 SetShadow(); 即可实现无边框窗体的阴影效果了 需要添加命名空间 using System.Runtime.InteropServices; 复制代码 代码如下: private const int CS_DropSHADOW = 0x20000; private const int GCL_STYLE = (-26); [DllImport("user32.dll", CharSet = CharSet.Auto)]
-
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#实现Winform中打开网页页面的方法
本文实例讲述了C#实现Winform中打开网页页面的方法.分享给大家供大家参考.具体实现方法如下: 1.首先比较简单的我们知道有类似的方法如下 复制代码 代码如下: System.Diagnostics.Process.Start("http://www.baidu.com"); 2.比较灵活一点,可以定义窗口大小,我们要实现网页中脚本打开页面的方法,即window.open 那么,我们必然会想,如何调用页面的脚本呢?其实可以利用WebBrowser来实现 //连接 string ur
-
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#利用反射技术实现去掉按钮选中时的边框效果
本文实例讲述了C#利用反射技术实现去掉按钮选中时的边框效果.分享给大家供大家参考.具体如下: public void HideFocusCues(Control control) { Type vType = typeof(Control); FieldInfo vFieldInfo = vType.GetField("uiCuesState", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic |
-
C#中改变DataGridView控件边框颜色的方法
DataGridView是Visual Studio中一个最重要的数据控件.它可以应用在大多数场合,功能强大,使用灵活.本文要重点介绍一下,如果设置DataGridView的边框颜色. 比尔盖次说"Apple机上没有哪一个软件我是觉得应该是微软首创的",这说明盖次对微软软件功能强大的自信心.而乔布斯而说,微软的软件毫无艺术感可言!这说明什么,说明微软的东西--丑! 乔帮主不愧是乔帮主,真是入木三分,直中要害!是的,默认情况下的DataGridView,真是丑!尤其是那个黑色的边框,不是
-
解析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#中无边框窗体移动的简单实例
首先建一个Windows应用程序将Form1的 FormBorderStyle属性设置为Noe 复制代码 代码如下: Point mouseOff;//鼠标移动位置变量 bool leftFlag;//标记是否为左键 private void Form1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left)
-
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
随机推荐
- AngularJS实现根据变量改变动态加载模板的方法
- 基于Angularjs+mybatis实现二级评论系统(仿简书)
- asp.net Excel转换为SQL Server的方法
- VMware虚拟机优化十招技巧
- JavaScript中的正则表达式使用及验证qq号码的正则
- 改写函数实现PHP二维/三维数组转字符串
- windows 中 \r\n 区别于 类unix中的\n 疑问理解(crlf回车换行)
- 深入理解Golang的单元测试和性能测试
- perl高级排序,<=>操作符,飞船操作符
- ISAPI-REWRITE伪静态规则写法以及说明
- C#实现Datatable排序的方法
- Laravel框架学习笔记(二)项目实战之模型(Models)
- PHP容易忘记的知识点分享
- c#执行excel宏模版的方法
- C语言基本排序算法之shell排序实例
- 使用jQuery获得内容以及内容的属性
- BootStrap Datetimepicker 汉化的实现代码
- C++中vector和map的删除方法(推荐)
- C#利用GDI绘制常见图形和文字
- C# 判断字符串为空的几种办法