C#winform中怎么实现无边框窗体的拖动、最大化、最小化以及关闭。

就像其他软件一样,无边框却有最大化最小化关闭还有获取帮助···

无边框窗体的移动:bool formMove = false;//窗体是否移动
Point formPoint;//记录窗体的位置 private void AddFriendForm2_MouseDown(object sender, MouseEventArgs e)
{
formPoint = new Point();
int xOffset;
int yOffset;
if (e.Button == MouseButtons.Left)
{
xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
yOffset = -e.Y - SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height;
formPoint = new Point(xOffset, yOffset);
formMove = true;//开始移动
}
} private void AddFriendForm2_MouseMove(object sender, MouseEventArgs e)
{
if (formMove == true)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(formPoint.X, formPoint.Y);
Location = mousePos;
}
} private void AddFriendForm2_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)//按下的是鼠标左键
{
formMove = false;//停止移动
}
} 最大化最小化那些其实都是自己加的,可以用image点击事件里面实现最大化最小化以及关闭我用的是label: private void label1_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
} private void label2_Click(object sender, EventArgs e)
{
this.Close();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-24
画, mousedown mouseup mousemove down时标记拖动开始,记下鼠标位置,move时的鼠标位置,2个位置差改变localtion

C#Winform无边框窗体鼠标拖动怎么实现
protected override CreateParams CreateParams{ get { const int WS_MINIMIZEBOX = 0x00020000; \/\/ Winuser.h中定义 CreateParams cp = base.CreateParams; cp.Style = cp.Style | WS_MINIMIZEBOX; \/\/ 允许最小化操作 return cp; } } 在窗体中加入上面的方法就可以。

C#Winform无边框窗体鼠标拖动怎么实现?
在无边框窗体的代码中加入下面的protected override void WndProc(ref Message m)方法便可。具体代码如下:\\x0d\\x0ausing System;\\x0d\\x0ausing System.Windows.Forms;\\x0d\\x0a\\x0d\\x0anamespace WindowsFormsApplication1\\x0d\\x0a{\\x0d\\x0a public partial class Form1 : Form\\x0...

C# 无边框WinForm 点击任务栏图标时,如何实现放大缩小操作?
\/\/\/ 实现点击任务栏图标显示或隐藏窗体 \/\/\/ protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams;cp.Style = cp.Style | 0x20000 ;\/\/允许最小化操作 return cp;} }

【C#】WinForm中如何让窗口最小化时直接最小化到托盘,后台运行
1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。3.添加窗体最小化事件(首先需要添加事件引用):代码如下:this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);\/\/上面一行是主窗体InitializeComponent()方法中需要添加的...

C#如何把winForm上的最大化按钮去掉,还有把窗体最少化和关闭的样式改变...
去掉最大化按钮可以把窗体的属性MaxmizeBox=false就可以了。改变样式有两种方法:一种是用现成的皮肤,搜C#皮肤就可以很简单。第二种是重绘窗体,难度较大,还得出来系统消息。建议使用第一种。

C#中怎么去掉窗体的最大化,最小化,叉叉??
属性:MinimizeBox=false 去掉最小化 MaximizeBox=false 去掉最大化

c#窗口关闭按钮
首先将FormBorderStyle设置为None 然后在Form顶端添加你喜欢的最大化,最小化,以及关闭按钮 实现窗体的移动,代码如下:bool formMove = false;\/\/窗体是否移动 Point formPoint;\/\/记录窗体的位置 private void Form1_MouseUp(object sender, MouseEventArgs e){ if (e.Button == MouseButtons.Left)\/\/按...

C#winform如何最小化主窗口
1、首先输入代码:#region 私有方法 处理窗体的 显示 隐藏 关闭(退出)private void ExitMainForm(){ if (MessageBox.Show("您确定要退出化验数据接收程序吗?", "确认退出",MessageBoxButtons.OKCancel, MessageBoxIcon.Question,MessageBoxDefaultButton.Button2) == DialogResult.OK){ this.notifyIcon....

C# winform 最大化
1、把父窗体的IsMdiContainer设置为True;2、把子窗体的WindowState设置为Normal;3、在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){ MyChildForm childForm = new MyChildForm();childForm .MdiParent = this;childForm .WindowState = Form...

C#中 怎样在Winform窗体 右上角最小化左边添加一个按钮 ?像Q2013登录...
1)你可以利用底层的winform消息重绘将这个按钮绘制到响应位置.请调研,winform重绘.不过不建议这样做,比较麻烦.2)将你的winform窗体做成无边框的效果(请搜索无边框winform窗体移动),然后在这个窗体上放置三个按钮于右上角(分别为关闭,最小化,设置),然后将图片应用到这个button上.这里也要注意一点,如果小想...

相似回答