启动窗体中设置一个图片,将图片的deck属性设置为:FILL.将窗体的formbordstyle设置为none.并且设置一个timer将timer的enable属性设置为true.设置timer_tick:
private
void
timerStart_Tick(
object
sender, EventArgs e)
{
//设置图片透明度
if (this.Opacity > 0.01)
{
this.Opacity = this.Opacity - 0.01;
}
else
{
this.timerStart.Enabled = false;
this.Hide();
PersonalEdition personalEdition = new PersonalEdition();
personalEdition.Show();
}
}
2.主窗体的设置,各种按钮的设置(略)
{
//设置图片透明度
if (this.Opacity > 0.01)
{
this.Opacity = this.Opacity - 0.01;
}
else
{
this.timerStart.Enabled = false;
this.Hide();
PersonalEdition personalEdition = new PersonalEdition();
personalEdition.Show();
}
}
menu的设置,toolstrip的设置.
menu中设置快捷键:&?
menuitem中设置快捷键:通过属性来设置
退出窗口:Application.Exit();
如果要通过FORM中的扠扠来退出窗口关闭整个进程,就重写方法:
private
void
PersonalEdition_FormClosed(
object
sender, FormClosedEventArgs e)
{
//整个进程关闭
Application.Exit();
//当前窗体关闭
//this.Close();
//this.Dispose();
}
{
//整个进程关闭
Application.Exit();
//当前窗体关闭
//this.Close();
//this.Dispose();
}
3.XML数据的显示,导入,导出:
要读取xml必须要有一个datagridview来显示,另外通过DATASET来连接:
显示代码.导入,导出代码如下:
public
PersonalEdition()
{
InitializeComponent();
this.skinEngine1.SkinFile = "DiamondGreen.ssk";
//加载XML文件
dsXml.ReadXml("UserKey.xml");
//取得数据表
dgUserKey.DataSource = dsXml.Tables["UserKey"];
//对数据表中的第一个字段修改名称和宽度
dgUserKey.Columns[0].HeaderText = "序号";
dgUserKey.Columns[0].Width = 52;
dgUserKey.Columns[1].HeaderText = "标题";
dgUserKey.Columns[2].HeaderText = "网址";
dgUserKey.Columns[3].HeaderText = "用户名";
dgUserKey.Columns[4].HeaderText = "密码";
dgUserKey.Columns[5].HeaderText = "更新日期";
dgUserKey.Columns[1].Width = 85;
dgUserKey.Columns[2].Width = 155;
dgUserKey.Columns[3].Width = 75;
dgUserKey.Columns[4].Width = 75;
dgUserKey.Columns[5].Width = 120;
}
private void 导入ToolStripMenuItem_Click( object sender, EventArgs e)
{
Hide();
if (DiaFile.ShowDialog() == DialogResult.OK)
{
if (DiaFile.OpenFile() != null)
{
//读取要导入的XML!
dsXMLTwo.ReadXml(@DiaFile.FileName);
//定义了一个DataRow行,这个行是遍历dsXMLTwo.Tables["UserKey"].Rows得到的!
foreach (DataRow twoRow in dsXMLTwo.Tables["UserKey"].Rows)
{
//新增加一行
DataRow newRow = dsXml.Tables["UserKey"].NewRow();
//这一行的每一个拦位的设定
newRow["Number"] = twoRow["Number"];
newRow["Title"] = twoRow["Title"];
newRow["NetAdd"] = twoRow["NetAdd"];
newRow["Name"] = twoRow["Name"];
newRow["Key"] = twoRow["Key"];
newRow["UpdateTime"] = twoRow["UpdateTime"];
//将这一行加到dsXml的UserKey表中去!
dsXml.Tables["UserKey"].Rows.Add(newRow);
}
int n = dsXml.Tables["UserKey"].Rows.Count;
for (int i = 0; i < n; i++)
{
//改所有的NUMBER的内容!把它从1加到N
dsXml.Tables["UserKey"].Rows[i]["Number"] = i + 1;
}
//将数据集表中的数据写到XML中去!
dsXml.WriteXml(@"UserKey.xml");
this.Visible = true;
MessageBox.Show("文件导入成功!", "浪曦提醒");
}
}
else
{
this.Visible = true;
}
}
private void 导出ToolStripMenuItem_Click( object sender, EventArgs e)
{
Hide();
//diaSaveFile.ShowDialog()是表示显示Dialog
//DialogResult.OK表示点击了OK键
if (diaSaveFile.ShowDialog() == DialogResult.OK)
{
//@表示要保存的地址在于什么地方
//diaSaveFile.FileName就是要保存的地方
dsXml.WriteXml(@diaSaveFile.FileName);
this.Visible = true;
MessageBox.Show("保存成功!", "浪曦提醒");
}
else
{
this.Visible = true;
}
}
{
InitializeComponent();
this.skinEngine1.SkinFile = "DiamondGreen.ssk";
//加载XML文件
dsXml.ReadXml("UserKey.xml");
//取得数据表
dgUserKey.DataSource = dsXml.Tables["UserKey"];
//对数据表中的第一个字段修改名称和宽度
dgUserKey.Columns[0].HeaderText = "序号";
dgUserKey.Columns[0].Width = 52;
dgUserKey.Columns[1].HeaderText = "标题";
dgUserKey.Columns[2].HeaderText = "网址";
dgUserKey.Columns[3].HeaderText = "用户名";
dgUserKey.Columns[4].HeaderText = "密码";
dgUserKey.Columns[5].HeaderText = "更新日期";
dgUserKey.Columns[1].Width = 85;
dgUserKey.Columns[2].Width = 155;
dgUserKey.Columns[3].Width = 75;
dgUserKey.Columns[4].Width = 75;
dgUserKey.Columns[5].Width = 120;
}
private void 导入ToolStripMenuItem_Click( object sender, EventArgs e)
{
Hide();
if (DiaFile.ShowDialog() == DialogResult.OK)
{
if (DiaFile.OpenFile() != null)
{
//读取要导入的XML!
dsXMLTwo.ReadXml(@DiaFile.FileName);
//定义了一个DataRow行,这个行是遍历dsXMLTwo.Tables["UserKey"].Rows得到的!
foreach (DataRow twoRow in dsXMLTwo.Tables["UserKey"].Rows)
{
//新增加一行
DataRow newRow = dsXml.Tables["UserKey"].NewRow();
//这一行的每一个拦位的设定
newRow["Number"] = twoRow["Number"];
newRow["Title"] = twoRow["Title"];
newRow["NetAdd"] = twoRow["NetAdd"];
newRow["Name"] = twoRow["Name"];
newRow["Key"] = twoRow["Key"];
newRow["UpdateTime"] = twoRow["UpdateTime"];
//将这一行加到dsXml的UserKey表中去!
dsXml.Tables["UserKey"].Rows.Add(newRow);
}
int n = dsXml.Tables["UserKey"].Rows.Count;
for (int i = 0; i < n; i++)
{
//改所有的NUMBER的内容!把它从1加到N
dsXml.Tables["UserKey"].Rows[i]["Number"] = i + 1;
}
//将数据集表中的数据写到XML中去!
dsXml.WriteXml(@"UserKey.xml");
this.Visible = true;
MessageBox.Show("文件导入成功!", "浪曦提醒");
}
}
else
{
this.Visible = true;
}
}
private void 导出ToolStripMenuItem_Click( object sender, EventArgs e)
{
Hide();
//diaSaveFile.ShowDialog()是表示显示Dialog
//DialogResult.OK表示点击了OK键
if (diaSaveFile.ShowDialog() == DialogResult.OK)
{
//@表示要保存的地址在于什么地方
//diaSaveFile.FileName就是要保存的地方
dsXml.WriteXml(@diaSaveFile.FileName);
this.Visible = true;
MessageBox.Show("保存成功!", "浪曦提醒");
}
else
{
this.Visible = true;
}
}
4,数据的增删改查:
主程序中:
private
void
添加ToolStripMenuItem_Click(
object
sender, EventArgs e)
{
//传入数据集dsXml
KeyAdd keyAdd = new KeyAdd(dsXml);
keyAdd.ShowDialog();
}
private void 修改ToolStripMenuItem_Click( object sender, EventArgs e)
{
//dgUserKey是datagridview,从它上边得到序号
int n = dgUserKey.CurrentRow.Index;
//定位纵坐标,将内容提取出来[0, n]第一列就是0,行号就是他的序号,第几个!
dgUserKey.CurrentCell = dgUserKey[0, n];
//将这个定位上边的值得到,实际上就是得到当前行的序号
string id = dgUserKey.CurrentCell.Value.ToString();
KeyModi keyModi = new KeyModi(id,dsXml);
keyModi.ShowDialog();
}
private void 删除ToolStripMenuItem_Click( object sender, EventArgs e)
{
string message = "您确实要删除选定记录吗?";
string caption = "浪曦提醒";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result;
//new出一个yesno确认消息框
result = MessageBox.Show(this, message, caption, buttons, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
//如果消息框为yes,则要执行删除功能
if (result == DialogResult.Yes)
{
//取得当前的值
int m = dgUserKey.CurrentRow.Index;
//得到表中剩余的行数
int n = dsXml.Tables["UserKey"].Rows.Count;
if (n == 1)
{
MessageBox.Show("对不起,至少预留一条记录!", "浪曦提醒");
}
else
{
foreach (DataRow dsRow in dsXml.Tables["UserKey"].Rows)
{
if (dsRow["Number"].ToString() == Convert.ToString(m + 1))
{
dsRow.Delete();
//重新对剩余的数据设置序号
for (int i = 0; i < n - 1; i++)
{
dsXml.Tables["UserKey"].Rows[i]["Number"] = i + 1;
}
dsXml.WriteXml(@"UserKey.xml");
MessageBox.Show("删除成功", "浪曦提醒");
return;
}
}
}
}
}
keyadd.cs
{
//传入数据集dsXml
KeyAdd keyAdd = new KeyAdd(dsXml);
keyAdd.ShowDialog();
}
private void 修改ToolStripMenuItem_Click( object sender, EventArgs e)
{
//dgUserKey是datagridview,从它上边得到序号
int n = dgUserKey.CurrentRow.Index;
//定位纵坐标,将内容提取出来[0, n]第一列就是0,行号就是他的序号,第几个!
dgUserKey.CurrentCell = dgUserKey[0, n];
//将这个定位上边的值得到,实际上就是得到当前行的序号
string id = dgUserKey.CurrentCell.Value.ToString();
KeyModi keyModi = new KeyModi(id,dsXml);
keyModi.ShowDialog();
}
private void 删除ToolStripMenuItem_Click( object sender, EventArgs e)
{
string message = "您确实要删除选定记录吗?";
string caption = "浪曦提醒";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result;
//new出一个yesno确认消息框
result = MessageBox.Show(this, message, caption, buttons, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
//如果消息框为yes,则要执行删除功能
if (result == DialogResult.Yes)
{
//取得当前的值
int m = dgUserKey.CurrentRow.Index;
//得到表中剩余的行数
int n = dsXml.Tables["UserKey"].Rows.Count;
if (n == 1)
{
MessageBox.Show("对不起,至少预留一条记录!", "浪曦提醒");
}
else
{
foreach (DataRow dsRow in dsXml.Tables["UserKey"].Rows)
{
if (dsRow["Number"].ToString() == Convert.ToString(m + 1))
{
dsRow.Delete();
//重新对剩余的数据设置序号
for (int i = 0; i < n - 1; i++)
{
dsXml.Tables["UserKey"].Rows[i]["Number"] = i + 1;
}
dsXml.WriteXml(@"UserKey.xml");
MessageBox.Show("删除成功", "浪曦提醒");
return;
}
}
}
}
}
using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace LangKeyExpert
{
public partial class KeyAdd : Form
{
private DataSet dsXml;
//初始化构造函数的时候传如一个数据集(DataSet d)
public KeyAdd(DataSet d)
{
InitializeComponent();
dsXml = d;
//得到表的行数
int n = dsXml.Tables["UserKey"].Rows.Count;
//显示到lblNumber中
this.lblNumber.Text = Convert.ToString(n + 1);
txtNet.Text = "http://";
}
private void KeyAdd_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
//单击返回就关闭这个窗体
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
if (txtTitle.Text == "")
{
MessageBox.Show("对不起,标题不能为空", "浪曦提醒");
return;
}
DataRow newRow = dsXml.Tables["UserKey"].NewRow();
newRow["Number"] = this.lblNumber.Text;
newRow["Title"] = this.txtTitle.Text;
newRow["NetAdd"] = txtNet.Text;
newRow["Name"] = txtName.Text;
newRow["Key"] = txtPwd.Text;
newRow["UpdateTime"] = System.DateTime.Now.ToString();
dsXml.Tables["UserKey"].Rows.Add(newRow);
dsXml.WriteXml(@"UserKey.xml");
MessageBox.Show("添加成功!", "浪曦提醒");
this.Close();
}
}
}
keymidi.cs
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace LangKeyExpert
{
public partial class KeyAdd : Form
{
private DataSet dsXml;
//初始化构造函数的时候传如一个数据集(DataSet d)
public KeyAdd(DataSet d)
{
InitializeComponent();
dsXml = d;
//得到表的行数
int n = dsXml.Tables["UserKey"].Rows.Count;
//显示到lblNumber中
this.lblNumber.Text = Convert.ToString(n + 1);
txtNet.Text = "http://";
}
private void KeyAdd_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
//单击返回就关闭这个窗体
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
if (txtTitle.Text == "")
{
MessageBox.Show("对不起,标题不能为空", "浪曦提醒");
return;
}
DataRow newRow = dsXml.Tables["UserKey"].NewRow();
newRow["Number"] = this.lblNumber.Text;
newRow["Title"] = this.txtTitle.Text;
newRow["NetAdd"] = txtNet.Text;
newRow["Name"] = txtName.Text;
newRow["Key"] = txtPwd.Text;
newRow["UpdateTime"] = System.DateTime.Now.ToString();
dsXml.Tables["UserKey"].Rows.Add(newRow);
dsXml.WriteXml(@"UserKey.xml");
MessageBox.Show("添加成功!", "浪曦提醒");
this.Close();
}
}
}
using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace LangKeyExpert
{
public partial class KeyModi : Form
{
private DataSet dsNewXML;
public KeyModi(string id, DataSet d)
{
InitializeComponent();
//得到dataset
dsNewXML = d;
foreach (DataRow dsRow in dsNewXML.Tables["UserKey"].Rows)
{
if (dsRow["Number"].ToString() == id)
{
this.label1.Text = id;
this.txtTitle.Text = dsRow["Title"].ToString();
this.txtNet.Text = dsRow["NetAdd"].ToString();
this.txtName.Text = dsRow["Name"].ToString();
this.txtPwd.Text = dsRow["Key"].ToString();
return;
}
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click_1(object sender, EventArgs e)
{
if (this.txtTitle.Text == "")
{
MessageBox.Show("对不起,标题不能为空!", "浪曦友情提示");
return;
}
if (this.txtNet.Text == "")
{
MessageBox.Show("对不起,网址不能为空!", "浪曦友情提示");
return;
}
foreach (DataRow dsRow in dsNewXML.Tables["UserKey"].Rows)
{
if (dsRow["Number"].ToString() == this.label1.Text)
{
dsRow["Title"] = this.txtTitle.Text;
dsRow["NetAdd"] = this.txtNet.Text;
dsRow["Name"] = this.txtName.Text;
dsRow["Key"] = this.txtPwd.Text;
dsNewXML.WriteXml(@"UserKey.xml");
MessageBox.Show("修改成功!", "浪曦友情提示");
this.Close();
return;
}
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace LangKeyExpert
{
public partial class KeyModi : Form
{
private DataSet dsNewXML;
public KeyModi(string id, DataSet d)
{
InitializeComponent();
//得到dataset
dsNewXML = d;
foreach (DataRow dsRow in dsNewXML.Tables["UserKey"].Rows)
{
if (dsRow["Number"].ToString() == id)
{
this.label1.Text = id;
this.txtTitle.Text = dsRow["Title"].ToString();
this.txtNet.Text = dsRow["NetAdd"].ToString();
this.txtName.Text = dsRow["Name"].ToString();
this.txtPwd.Text = dsRow["Key"].ToString();
return;
}
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click_1(object sender, EventArgs e)
{
if (this.txtTitle.Text == "")
{
MessageBox.Show("对不起,标题不能为空!", "浪曦友情提示");
return;
}
if (this.txtNet.Text == "")
{
MessageBox.Show("对不起,网址不能为空!", "浪曦友情提示");
return;
}
foreach (DataRow dsRow in dsNewXML.Tables["UserKey"].Rows)
{
if (dsRow["Number"].ToString() == this.label1.Text)
{
dsRow["Title"] = this.txtTitle.Text;
dsRow["NetAdd"] = this.txtNet.Text;
dsRow["Name"] = this.txtName.Text;
dsRow["Key"] = this.txtPwd.Text;
dsNewXML.WriteXml(@"UserKey.xml");
MessageBox.Show("修改成功!", "浪曦友情提示");
this.Close();
return;
}
}
}
}
}
5.实现单机datagridview中一个显示网址的窗口后弹出IE并登陆,双击密码和用户名时复制
并且都在右下边弹出提示窗口info.cs
主程序:
private
void
dgUserKey_CellContentDoubleClick(
object
sender, DataGridViewCellEventArgs e)
{
//判断所点击的单元格的标题是什么
if (dgUserKey.Columns[e.ColumnIndex].HeaderText == "网址")
{
string url = dgUserKey.CurrentCell.Value.ToString();
//打开网址
System.Diagnostics.Process.Start(url);
//生成showinfo右下边的一个小提示框
ShowInfo showForm = new ShowInfo("正在打开网页,请稍等");
showForm.Show();
return;
}
if (dgUserKey.Columns[e.ColumnIndex].HeaderText == "用户名")
{
string name = dgUserKey.CurrentCell.Value.ToString();
//设置到减切版中
Clipboard.SetText(name);
ShowInfo showForm = new ShowInfo("用户名已复制到剪贴板");
showForm.Show();
return;
}
if (dgUserKey.Columns[e.ColumnIndex].HeaderText == "密码")
{
string key = dgUserKey.CurrentCell.Value.ToString();
//设置到减切版中
Clipboard.SetText(key);
ShowInfo showForm = new ShowInfo("密码已复制到剪贴板");
showForm.Show();
return;
}
}
showinfo.cs
{
//判断所点击的单元格的标题是什么
if (dgUserKey.Columns[e.ColumnIndex].HeaderText == "网址")
{
string url = dgUserKey.CurrentCell.Value.ToString();
//打开网址
System.Diagnostics.Process.Start(url);
//生成showinfo右下边的一个小提示框
ShowInfo showForm = new ShowInfo("正在打开网页,请稍等");
showForm.Show();
return;
}
if (dgUserKey.Columns[e.ColumnIndex].HeaderText == "用户名")
{
string name = dgUserKey.CurrentCell.Value.ToString();
//设置到减切版中
Clipboard.SetText(name);
ShowInfo showForm = new ShowInfo("用户名已复制到剪贴板");
showForm.Show();
return;
}
if (dgUserKey.Columns[e.ColumnIndex].HeaderText == "密码")
{
string key = dgUserKey.CurrentCell.Value.ToString();
//设置到减切版中
Clipboard.SetText(key);
ShowInfo showForm = new ShowInfo("密码已复制到剪贴板");
showForm.Show();
return;
}
}
using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace LangKeyExpert
{
public partial class ShowInfo : Form
{
private static int n;
public ShowInfo(string lblInf)
{
InitializeComponent();
//他杂最外层显示
this.TopMost = true;
this.lblInfo.Text = lblInf;
n = Screen.PrimaryScreen.WorkingArea.Height;
//横坐标,桌面的宽度-窗体宽度Screen.PrimaryScreen.WorkingArea.Width - 210,WorkingArea不包括任务拦
//纵坐标: 初始是:也就是没有Screen.PrimaryScreen.WorkingArea.Height
this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - 210, Screen.PrimaryScreen.WorkingArea.Height);
}
private void ShowInfo_Load(object sender, EventArgs e)
{
}
private void timUp_Tick(object sender, EventArgs e)
{
//Location.Y窗体的距离Screen.PrimaryScreen.WorkingArea.Height - 160正好是他显示出来的高度
if (this.Location.Y > Screen.PrimaryScreen.WorkingArea.Height - 160)
{
//如果大于就让他上升
this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - 210, n - 1);
n -= 1;
}
else
{
//当不大了之后就停掉第一个TIMER,运行第二个Timer
timUp.Enabled = false;
timMid.Enabled = true;
}
}
private void timMid_Tick(object sender, EventArgs e)
{
timMid.Enabled = false;
timDow.Enabled = true;
}
private void timDow_Tick(object sender, EventArgs e)
{
if (this.Location.Y < Screen.PrimaryScreen.WorkingArea.Height)
{
this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - 210, n + 1);
n += 1;
}
else
{
timDow.Enabled = false;
this.Close();
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace LangKeyExpert
{
public partial class ShowInfo : Form
{
private static int n;
public ShowInfo(string lblInf)
{
InitializeComponent();
//他杂最外层显示
this.TopMost = true;
this.lblInfo.Text = lblInf;
n = Screen.PrimaryScreen.WorkingArea.Height;
//横坐标,桌面的宽度-窗体宽度Screen.PrimaryScreen.WorkingArea.Width - 210,WorkingArea不包括任务拦
//纵坐标: 初始是:也就是没有Screen.PrimaryScreen.WorkingArea.Height
this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - 210, Screen.PrimaryScreen.WorkingArea.Height);
}
private void ShowInfo_Load(object sender, EventArgs e)
{
}
private void timUp_Tick(object sender, EventArgs e)
{
//Location.Y窗体的距离Screen.PrimaryScreen.WorkingArea.Height - 160正好是他显示出来的高度
if (this.Location.Y > Screen.PrimaryScreen.WorkingArea.Height - 160)
{
//如果大于就让他上升
this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - 210, n - 1);
n -= 1;
}
else
{
//当不大了之后就停掉第一个TIMER,运行第二个Timer
timUp.Enabled = false;
timMid.Enabled = true;
}
}
private void timMid_Tick(object sender, EventArgs e)
{
timMid.Enabled = false;
timDow.Enabled = true;
}
private void timDow_Tick(object sender, EventArgs e)
{
if (this.Location.Y < Screen.PrimaryScreen.WorkingArea.Height)
{
this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - 210, n + 1);
n += 1;
}
else
{
timDow.Enabled = false;
this.Close();
}
}
}
}
6.托盘的显示:
private void PersonalEdition_SizeChanged( object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible = true;
}
}
private void notifyIcon1_MouseDown( object sender, MouseEventArgs e)
{
//判断鼠标左键单击
if (e.Button == MouseButtons.Left)
{
this.Visible = true;
//窗体的转态设置为nomal
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;
}
}
private void 显示ToolStripMenuItem_Click( object sender, EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;
}
private void 退出ToolStripMenuItem1_Click( object sender, EventArgs e)
{
Application.Exit();
}
7.帮助,关于 :
private
void
关于ToolStripMenuItem_Click(
object
sender, EventArgs e)
{
Info info = new Info();
info.Show();
}
private void toolStripButton7_Click( object sender, EventArgs e)
{
关于ToolStripMenuItem_Click(sender, e);
}
{
Info info = new Info();
info.Show();
}
private void toolStripButton7_Click( object sender, EventArgs e)
{
关于ToolStripMenuItem_Click(sender, e);
}