一般的开发的应用运行时,是直接的程序页面打开,想要达到微信那样的效果,还是有些东西要注意的,最近看了一些零零散散的解决方法,我就整合了一下。

鼠标单击打开微信界面,右击微信图标会有如下图的快捷功能操作

********************************************
1.让右下角状态栏上显示我们的程序的小图标
①在工具箱里面找到这个控件NotifyIcon,拖进应用程序

②设置我们需要的属性,要在右下角状态栏显示的图标

③现在可以点击运行了,可以看到右下角有你刚刚添加进程序的icon图标,这个只是到了可以看的阶段还有....我们需要能点击图标打开还有右击快捷操作。
给刚刚拖进来的NotifyIcon控件添加一个MouseDoubleClick事件让它在最小化的时候能点击小图标后显示程序

代码如下:
/// <summary>
/// 状态栏小图标的鼠标点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void nIcon_Click(object sender, MouseEventArgs e)
{
try
{
if (this.WindowState == FormWindowState.Minimized)//当程序是最小化的状态时显示程序页面
{
this.WindowState = FormWindowState.Normal;
}
this.Activate();
this.Visible = true;
this.ShowInTaskbar = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
④开始添加右下角状态栏小图标的右击操作了
找到ContextMenuStrip控件,拖进应用程序

设置它的一些属性,双击打开集合,添加右击菜单的两个子项,并设置子项的Name和Text的,按照你的实际需求来。编写右击菜单子项的事件,我就写了一个退出事件

/// <summary>
/// 右击状态栏小图标的退出事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void smi_exit_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("你确定要关闭吗!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (result == DialogResult.OK)
{
// 关闭所有的线程
this.Dispose();
this.Close();
}
}
接着就是把这个ContextMenuStrip控件绑定到右下角的我的程序小图标(NotifyIcon控件)上面,绑定完就可以使用啦。

⑤目前点击程序的右上角的关闭时,就是直接退出程序了,把它变成点击右上角的叉叉缩进右下角的状态栏,不直接退出,再次点击右下角状态栏的小图标的时候,就打开程序。
找到窗体的这个属性添加事件并写入代码

代码如下:
/// <summary>
/// 程序右上角叉叉关闭时的事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
e.Cancel = true;
this.Visible = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
********************************************************
扩展:C#监听键盘的按下操作 -----要设置窗体的KeyPreview属性,并且添加KeyDown事件
/// <summary>
/// 键盘按Esc,隐藏程序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 27)
{ //窗体隐藏
this.Hide();
}
}
博终,okk。
2019-12-06