拖动窗体MOUSEUP怎么写,用什么方法?
解决方案 »
- wpf 后台操作自定义控件
- 100分,微软RDLC报表问题,有点困难
- C# Tooltip控件的一些问题 WinForm
- 五彩色连珠游戏,帮提建议.
- C#代码出错问题?
- ********新手再提个小问题*********
- 连接SQL数据不成功就用MESSAGEBOX显示示一条信息,如何实现??
- 求C#模拟登录网站,带验证码例子
- 请问使用using Microsoft.Data、using Microsoft.Data.Odbc,我该引用那个程序集?
- 新手提问:准备用VS.net2003, 如何快速掌握在这个平台上的开发?
- 有没有人有IT实验室VIP下载的用户名啊
- 关于子窗口根据主窗口的一个NumericUpdown控件的value值来动态生成Label个数的问题
-------
不明白你要的是什么?拖动窗体,是移动窗体,还是高速大小,还是都是.
为什么要写MouseUp事件,而不用MouseMove或MouseDown事件呢?
//客户区拖动窗体 [DllImport("User32.DLL")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int iParam);
[DllImport("User32.DLL")]
public static extern bool ReleaseCapture();
public const uint WM_SYSCOMMAND = 0x0112;
public const int SC_MOVE = 61456;
public const int HTCAPTION = 2; private void Form1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(Handle, WM_SYSCOMMAND, SC_MOVE | HTCAPTION, 0);
}
internal static int WM_NCHITTEST = 0x84; //移动鼠标,按住或释放鼠标时发生的系统消息
internal static IntPtr HTCLIENT = (IntPtr)0x1;//工作区
internal static IntPtr HTCAPTION = (IntPtr)0x2; //标题栏
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_NCHITTEST)
{
base.WndProc(ref m);
if (m.Result == HTCLIENT)
{
m.HWnd = this.Handle; System.Drawing.Rectangle rect = this.RectangleToScreen(this.ClientRectangle);
Point C_Pos = Cursor.Position;
m.Result = HTCAPTION;//模拟标题栏,移动或双击可以最大或最小化窗体
}
}
else if (m.Msg == 0xa3)
{
return;
}
else
{
base.WndProc(ref m);
}
}
hbxtlhx(平民百姓)
你们的代码我都看不懂呀,我这个程序是C#window应用程序啊,你们写的是C#的WINDOWS应用程序代码吗?
//全部给你贴了
//人不能菜到这样的地步using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;namespace WindowsApplication15
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} [DllImport("User32.DLL")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int iParam);
[DllImport("User32.DLL")]
public static extern bool ReleaseCapture();
public const uint WM_SYSCOMMAND = 0x0112;
public const int SC_MOVE = 61456;
public const int HTCAPTION = 2;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(Handle, WM_SYSCOMMAND, SC_MOVE | HTCAPTION, 0); }
}
}
// 功能:让日历可移动
// 编码:Dragon Deng
var IsMove = false;
var dragClickX = 0;
var dragClickY = 0;function catchCalendar(e){
IsMove = true;
dragClickX=event.clientX-parseInt(document.getElementById("calendar").style.left);
dragClickY=event.clientY-parseInt(document.getElementById("calendar").style.top);
document.getElementById("calendar").setCapture();
document.onmousemove = moveCalendar;
}function releaseCalendar(e){
IsMove = false;
document.getElementById("calendar").releaseCapture();
document.onmousemove = null;
hideElement( 'SELECT', document.getElementById("calendar") );
hideElement( 'APPLET', document.getElementById("calendar") );
}function moveCalendar(e){
if(IsMove){
document.getElementById("calendar").style.left =event.clientX-dragClickX;
document.getElementById("calendar").style.top = event.clientY-dragClickY;
document.getElementById("calendar").style.visible = 'show'
}
}
//
//******************************************* end ***********************************************************//
{
int nX=e.x;
int nY=e.y;
this.Width=nX;
this.Height=nY;
}