对话框的 FormBorderStyle 设置为"None",如何拖动它? 应该要用api函数,以前vb是这么做的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.ComponentModel;using System.Drawing;using System.Windows.Forms;namespace LiBo.WinControls.Forms { /// <summary> /// DragForm 类是可 /// </summary> public class DragForm : System.Windows.Forms.Form { private bool dragEnable; private bool dragging; private int xOld, yOld; public DragForm() : base() { dragEnable = false; } /// <summary> /// 获取或设置一个值,该值指示窗体是否可以通过鼠标左键拖动。 /// </summary> [DefaultValue(false)] [Category("Behavior")] [Description("指示窗体是否可以通过鼠标左键拖动")] public bool DragEnable { get { return dragEnable; } set { dragEnable = value; } } protected override void OnMouseDown(MouseEventArgs e) { if(dragEnable && e.Button == MouseButtons.Left) { // 保存当前鼠标的位置,可以用它来计算鼠标移动的距离 xOld = MousePosition.X; yOld = MousePosition.Y; // 标识鼠标正在拖动窗体 dragging = true; } } protected override void OnMouseMove(MouseEventArgs e) { if(dragEnable && dragging) { // 计算出鼠标在 X 和 Y 坐标方向上移动的距离 int dx = MousePosition.X - xOld; int dy = MousePosition.Y - yOld; // 根据上面的结果计算出窗体偏移后的位置 Point point = this.Location; point.Offset(dx, dy); // 设置上面的偏移位置为窗体的位置 this.Location = point; // 保存当前鼠标的位置,用于下一个循环的计算 xOld = MousePosition.X; yOld = MousePosition.Y; } } protected override void OnMouseUp(MouseEventArgs e) { if(dragEnable && e.Button == MouseButtons.Left) dragging = false; } }} http://www.c-sharpcorner.com/Code/2002/Sept/MoveBorderlessForm.asp 上传图片的问题,在线等 这是一个死循环吗? VS中注释换行后自动添加的*如何实现?C#语言 C# 图像旋转函数(绕任意一点旋转) 必须声明标量变量 "@UserID"。 怎样在C#中调用别的程序的类库,类库不是com格式的. 下拉框内显示数据 删除控件后的问题。请赐教!!! Mono 1.0发布了!!! 求助 一个关于,水晶报表连接的问题, 知道一个字符串包含在另一个字符串里的涵数是什么啊
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;namespace LiBo.WinControls.Forms {
/// <summary>
/// DragForm 类是可
/// </summary>
public class DragForm : System.Windows.Forms.Form { private bool dragEnable;
private bool dragging;
private int xOld, yOld; public DragForm() : base() {
dragEnable = false;
} /// <summary>
/// 获取或设置一个值,该值指示窗体是否可以通过鼠标左键拖动。
/// </summary>
[DefaultValue(false)]
[Category("Behavior")]
[Description("指示窗体是否可以通过鼠标左键拖动")]
public bool DragEnable {
get { return dragEnable; }
set { dragEnable = value; }
} protected override void OnMouseDown(MouseEventArgs e) {
if(dragEnable && e.Button == MouseButtons.Left) {
// 保存当前鼠标的位置,可以用它来计算鼠标移动的距离
xOld = MousePosition.X;
yOld = MousePosition.Y;
// 标识鼠标正在拖动窗体
dragging = true;
}
} protected override void OnMouseMove(MouseEventArgs e) {
if(dragEnable && dragging) {
// 计算出鼠标在 X 和 Y 坐标方向上移动的距离
int dx = MousePosition.X - xOld;
int dy = MousePosition.Y - yOld; // 根据上面的结果计算出窗体偏移后的位置
Point point = this.Location;
point.Offset(dx, dy); // 设置上面的偏移位置为窗体的位置
this.Location = point; // 保存当前鼠标的位置,用于下一个循环的计算
xOld = MousePosition.X;
yOld = MousePosition.Y;
}
} protected override void OnMouseUp(MouseEventArgs e) {
if(dragEnable && e.Button == MouseButtons.Left)
dragging = false;
}
}
}