源码如下。。 (需托动一个Notfyicon1控件)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication70
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//新建菜单
MenuItem menuitem1 = new MenuItem("最大化");
MenuItem menuitem2 = new MenuItem("最小化");
MenuItem menuitem3 = new MenuItem("正常");
MenuItem menuitem4 = new MenuItem("关闭");
//将菜单加入托盘
notifyIcon1.ContextMenu = new ContextMenu(new MenuItem[] { menuitem1, menuitem2, menuitem3, menuitem4 });
//给菜单添加事件
menuitem1.Click += new EventHandler(menuitem1_Click);
menuitem2.Click += new EventHandler(menuitem2_Click);
menuitem3.Click += new EventHandler(menuitem3_Click);
menuitem4.Click += new EventHandler(menuitem4_Click);
}
//菜单事件执行
void menuitem4_Click(object sender, EventArgs e)
{
this.Close();
}
void menuitem3_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Normal;
}
void menuitem2_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
}
void menuitem1_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
}
//设置一个坐标点对象,用来记录鼠标点下的位置
private Point p;
//开始记录位置
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
p.X = -e.X;
p.Y = -e.Y;
}
//移动窗体过程
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
//如果鼠标左键是点击状态
if (e.Button == MouseButtons.Left)
{
//新建一个坐标点,得到系统桌面鼠标的坐标位置
Point position = Control.MousePosition;
//减去在窗体内的坐标位置就等于现在窗体的位置
position.Offset(p.X, p.Y);
//移动窗体到新的位置
DesktopLocation = position;
}
}
}
}