C#中实现拖动无边框Form窗体和窗体的起始位置
2012-04-11 09:53
387 查看
拖动无边框窗体Form至桌面任何位置
首先建一个Windows应用程序
将Form1的 FormBorderStyle属性设置为Noe
主要是在Form1窗体触发三个事件:Form4_MouseDown,Form4_MouseMove,Form4_MouseUp
代码如下:
public partial class Form1 : Form
{
Point mouseOff; //鼠标移动位置变量
bool leftFlag; //标签是否为左键
public Form1()
{
InitializeComponent();
}
//用代码设置窗体的起始位置
private void Form_Load(object sender, System.EventArgs e)
{
this.Left=(int)((Screen.PrimaryScreen.Bounds.Width-this.Width)/2);
this.Top=(int)((Screen.PrimaryScreen.Bounds.Height-this.Height)/2);
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
mouseOff = new Point(-e.X, -e.Y); //得到变量的值
leftFlag = true; //点击左键按下时标注为true;
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (leftFlag)
{
Point mouseSet = Control.MousePosition;
mouseSet.Offset(mouseOff.X, mouseOff.Y); //设置移动后的位置
Location = mouseSet;
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
if (leftFlag)
{
leftFlag = false;//释放鼠标后标注为false;
}
}
}
首先建一个Windows应用程序
将Form1的 FormBorderStyle属性设置为Noe
主要是在Form1窗体触发三个事件:Form4_MouseDown,Form4_MouseMove,Form4_MouseUp
代码如下:
{
Point mouseOff; //鼠标移动位置变量
bool leftFlag; //标签是否为左键
public Form1()
{
InitializeComponent();
}
//用代码设置窗体的起始位置
private void Form_Load(object sender, System.EventArgs e)
{
this.Left=(int)((Screen.PrimaryScreen.Bounds.Width-this.Width)/2);
this.Top=(int)((Screen.PrimaryScreen.Bounds.Height-this.Height)/2);
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
mouseOff = new Point(-e.X, -e.Y); //得到变量的值
leftFlag = true; //点击左键按下时标注为true;
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (leftFlag)
{
Point mouseSet = Control.MousePosition;
mouseSet.Offset(mouseOff.X, mouseOff.Y); //设置移动后的位置
Location = mouseSet;
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
if (leftFlag)
{
leftFlag = false;//释放鼠标后标注为false;
}
}
}
相关文章推荐
- C#中实现拖动无边框窗体Form
- C#中实现拖动无边框窗体Form
- C#中实现拖动无边框窗体Form
- C#中实现拖动无边框窗体Form
- C#实现无边框窗体拖动的两个方案
- C# 实现拖动无边框窗体
- C# 如何窗体去掉上面的最大化,最小化合关闭以及实现无边框窗体拖动
- C# 窗体无边框 实现窗体移动(可在指定位置)
- C#无边框窗体实现以及拖动代码
- C#实现无边框窗体拖动
- C#实现无边框窗体拖动
- c# 当窗体设置成无边框后,如何实现拖动效果,简洁实用
- C# 如何窗体去掉上面的最大化,最小化合关闭以及实现无边框窗体拖动【申明:来源于网络】
- C#实现无边框窗体拖动
- c#如何实现在两个窗体(Form)间传输数据或变量
- 使用C#实现移动无边框窗体
- C# 无边框窗体移动 点击任务栏实现最小化与还原
- C#Winform实现无边框窗体鼠标拖动
- C#创建可以随意拖动的控件,拖动窗体上的任意控件到指定位置
- C# 无边框窗口实现拖动