|
本帖最后由 YoungMin 于 2013-10-21 16:48 编辑
最近写了一个桌面快捷菜单与大家一齐分享并希望大家多提宝贵意见
界面效果图
先上效果图
给大家说说都实现了哪些功能
1.实现了在程序自动保存上次窗体关闭时的位置,以便下次打开窗体时在此设置的位置坐标上;
2.实现了如图所示的一些快捷开打程序的一些操作,方便灵活操作;
3.实现了4个自定义的快捷操作(因不考虑在本机建立数据库或者文本目录,所以自定义的值都是保存在注册表中新建目录的键值,下一个版本打算采用UI界面,并写成可操作的键值);
4.实现了开机自启动,以用户的操作习惯为主;
5.实现了系统托盘区图标及右键菜单,双击显示主界面,及用户可自行选择是否始终显示在最前端;
6.实现了用户可自定义改变窗体及窗体透明度的设置。
自定义设置图
最后附上 窗体载入及关闭时代码,有问题者请与我联系
[code=csharp]private void Form1_Load(object sender, EventArgs e) //窗体载入时
{
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
this.Refresh();
this.ShowInTaskbar = false;
this.PAN_1.Visible = false;
int Z_alpha,Z_red,Z_green,Z_blue; //声明4个Int类型颜色变量
//this.TransparencyKey = Color.Transparent;
RegistryKey myReg1, myReg2, myReg3;//声明注册表对象
myReg1 = Registry.CurrentUser;//获取当前用户注册表项
try
{
myReg2 = myReg1.CreateSubKey("Software\\MySoft");//在注册表中创建子项
this.Location = new Point(Convert.ToInt16(myReg2.GetValue("1")), Convert.ToInt16(myReg2.GetValue("2"))); //设置窗体的显示位置
#region 自定义赋值
try
{
this.name1 = myReg2.GetValue("3").ToString(); //获取1
this.zidingyi1.Text = myReg2.GetValue("4").ToString();
}
catch
{
this.zidingyi1.Text = "自定义1";
}
try
{
this.name2 = myReg2.GetValue("5").ToString(); //获取2
this.zidingyi2.Text = myReg2.GetValue("6").ToString();
}
catch
{
this.zidingyi2.Text = "自定义2";
}
try
{
this.name3 = myReg2.GetValue("7").ToString(); //获取3
this.zidingyi3.Text = myReg2.GetValue("8").ToString();
}
catch
{
this.zidingyi3.Text = "自定义3";
}
try
{
this.name4 = myReg2.GetValue("9").ToString(); //获取4
this.zidingyi4.Text = myReg2.GetValue("10").ToString();
}
catch
{
this.zidingyi4.Text = "自定义4";
}
#endregion 自定义赋值
#region 给窗体背景色及透明度赋值
myReg3 = myReg1.CreateSubKey("Software\\MySoft_two");//在注册表中读取子项
try
{
double tmd_num = double.Parse(myReg3.GetValue("1",0.7).ToString());
this.Opacity = tmd_num;
Z_alpha = int.Parse(myReg3.GetValue("2",255).ToString());
Z_red = int.Parse(myReg3.GetValue("3",169).ToString());
Z_green = int.Parse(myReg3.GetValue("4",169).ToString());
Z_blue = int.Parse(myReg3.GetValue("5",169).ToString());
this.BackColor = Color.FromArgb(Z_alpha, Z_red, Z_green, Z_blue);
this.PAN_1.BackColor = BackColor;
this.groupBox1.BackColor = BackColor;
this.groupBox2.BackColor = BackColor;
this.trackBar1.BackColor = BackColor;
}
catch
{
}
#endregion 给窗体背景色及透明度赋值
}
catch
{
}
}[/code]
[code=csharp]private void Form1_FormClosed(object sender, FormClosedEventArgs e) //窗体关闭时
{
RegistryKey myReg1, myReg2, myReg3;//声明注册表对象
myReg1 = Registry.CurrentUser;//获取当前用户注册表项
myReg2 = myReg1.CreateSubKey("Software\\MySoft");//在注册表中创建子项
try
{
myReg2.SetValue("1", this.Location.X.ToString());//关闭窗体的X坐标位置
myReg2.SetValue("2", this.Location.Y.ToString());//关闭窗体的Y坐标位置
myReg2.SetValue("3", this.name1.ToString()); //获取自定义1的文件路径
myReg2.SetValue("4", this.zidingyi1.Text.ToString()); //获取自定义1的文件名
myReg2.SetValue("5", this.name2.ToString()); //获取自定义2的文件路径
myReg2.SetValue("6", this.zidingyi2.Text.ToString());
myReg2.SetValue("7", this.name3.ToString()); //获取自定义3的文件路径
myReg2.SetValue("8", this.zidingyi3.Text.ToString());
myReg2.SetValue("9", this.name4.ToString()); //获取自定义4的文件路径
myReg2.SetValue("10", this.zidingyi4.Text.ToString());
}
catch
{
}
myReg3 = myReg1.CreateSubKey("Software\\MySoft_two");//在注册表中创建子项
try
{
myReg3.SetValue("1", this.Opacity.ToString()); //获取窗体透明度的数值
myReg3.SetValue("2", this.BackColor.A.ToString()); //获取窗体的alpha分量值
myReg3.SetValue("3", this.BackColor.R.ToString()); //获取窗体的红色分量值
myReg3.SetValue("4", this.BackColor.G.ToString()); //获取窗体的绿色分量值
myReg3.SetValue("5", this.BackColor.B.ToString()); //获取窗体的蓝色分量值
//string fdshd = this.BackColor.ToString();
}
catch
{ }
}[/code]
以下是 生成程序链接
最后希望此程序给大家在工作中带来便捷。
|
|