C#窗体隐藏系统托盘只显示右下角的托盘

已举报 回答
C#窗体隐藏系统托盘只显示右下角的托盘
问在线客服
扫码问在线客服
  • 回答数

    7

  • 浏览数

    7,222

7个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
第一设置 窗体的 ShowInTastbar 属性为false;

第二 在窗体上放一个NotifyIcon控件,添加图标,并实现它的点击事件,具体点击的时候干什么事情你自己去搞了!!
取消 评论
  你_可_以_用_下_阿_P_软_件_之_隐_藏_托_盘_图_标_,_完_全_免_费_的_一_个_软_件_。_可_以_真_正_隐_藏_图_标_或_删_除_图_标_,_而_不_是_像_系_统_那_样_只_是_简_单_的_放_到_一_边_。_
取消 评论
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show(是缩小到托盘?, 确认, MessageBoxButtons.YesNo) == DialogResult.Yes)
{
//你的最小化程序...这样就可以 e.Cancel = true;
}
}
取消 评论
我可不可以这么理解,你是想隐藏自己的C#程序在状态栏上的图标。
默认情况下,我们自己写的C#的winform程序是只能在状态栏上显示的,如果想要状态栏不显示,没必要用API来做,winform有个属性,是showInTaskBar,默认这个属性为true,也就是运行程序后显示在状态栏上,如果设置为false,程序启动以后,则不会显示在状态栏上。
还有一个就是有个透明的属性,这个透明属性可以让窗口透明,覆盖到某一个窗口上。。。你懂得。。

如果你想隐藏进程信息的话,对于win7系统来讲可能会非常麻烦,这个需要修改一个内存的进程链表,涉及到注入的一些东西,从链表中删除指定的一个进程信息。可能有风险,我没试过,但是对于权限来讲,就很麻烦。。
取消 评论
试试CTRL+~
取消 评论
没那么麻烦,这样就可以了
private void MainForm_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.notifyIcon1.Visible = true;
this.ShowInTaskbar = false;
}
else if (this.notifyIcon1.Visible)
{
this.notifyIcon1.Visible = false;
this.ShowInTaskbar = true;
}
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.WindowState = FormWindowState.Normal;
notifyIcon1.Visible = false;
}
取消 评论
#region 窗体最小化到状态栏
private void MainForm_FormClosing(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{ e.cancel= true; //取消关闭窗体事件
notifyIcon1.Visible = true;
this.Hide();
this.ShowInTaskbar = false;
}
} private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) //双击最小化图标显示窗体
{
if (this.ShowInTaskbar == false)
{
notifyIcon1.Visible = true;
this.ShowInTaskbar = false;
this.Show();
this.Activate();
this.WindowState = FormWindowState.Normal;
}
}
取消 评论
ZOL问答 > C#窗体隐藏系统托盘只显示右下角的托盘

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?