问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

C#winform怎样实现托盘

发布网友 发布时间:2022-04-29 21:53

我来回答

1个回答

热心网友 时间:2022-06-23 18:27

现在很多程序都有这样的托盘程序
窗体关闭时,并不真正关闭程序,只是任务栏不显示该应用程序,在右下侧托盘里显示;
双击托盘,窗体还原;
右击窗体,出现托盘菜单,实现最小化,最大户,还原,退出等。
这样的功能C#winform怎样实现呢 ?
实现
WinForm中托盘菜单由NotifyIcon控件来实现,右键菜单由contextMenuStrip来实现,我们将二者相关联,即可实现我们所期望功能的托盘程序。
添加控件
我们在需要托盘的form界面上拖入NotifyIcon和一个ContextMenuStrip控件。

设置控件信息
设置控件的属性为我们期望的功能,
如本例中NotifyIcon控件名NAME为“mainNotifyIcon”,ContextMenuStrip控件名NAME为”mainNotifyContextMenuStrip”)

Icon为托盘图标,Text托盘显示文字,ContextMenuStrip右键菜单(退出),设置退出单击事件,我们将mainNotifyIcon的ContextMenuStrip属性设置为mainNotifyContextMenuStrip,即可实现该托盘与右键菜单的关联,在托盘上右键即出现右键菜单
我们开始添加右键菜单的各个选项,比如:最小化,最大化,还原,退出等

实现事件关联
添加主窗体关闭事件(FormClosing)

// 只有Form_Closing事件中 e.Cancel可以用。
// 你的是Form_Closed事件。 Form_Closed事件时窗口已关了 ,Cancel没用了;
// Form_Closing是窗口即将关闭时询问你是不是真的关闭才有Cancel事件

private void MainWindow_FormClosing(object sender, FormClosingEventArgs e)
{

// 注意判断关闭事件reason来源于窗体按钮,否则用菜单退出时无法退出!
if (e.CloseReason == CloseReason.UserClosing)
{
//取消"关闭窗口"事件
e.Cancel = true; // 取消关闭窗体

//使关闭时窗口向右下角缩小的效果
this.WindowState = FormWindowState.Minimized;
this.mainNotifyIcon.Visible = true;
//this.m_cartoonForm.CartoonClose();
this.Hide();
return;
}
}123456789101112131415161718192021123456789101112131415161718192021

这样我们就实现了单击关闭时,不真正关闭程序,而是将主界面隐藏HIDE掉,同时开始显示托盘菜单。
实现双击托盘打开主程序

// 添加托盘程序
// 版本更新自1.0.1
private void mainNotifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (this.Visible)
{
this.WindowState = FormWindowState.Minimized;
this.mainNotifyIcon.Visible = true;
this.Hide();
}
else
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.Activate();
}
}12345678910111213141516171234567891011121314151617

右键菜单实现最小化最大化还原和退出
// 添加托盘程序右键菜单项
// 版本更新自1.0.1
// 最小化
// 添加日期 -- 2015-07-29 21:40
private void toolStripMenuItemMinimize_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
this.mainNotifyIcon.Visible = true;
this.Hide();
}

// 添加托盘程序右键菜单项
// 版本更新自1.0.1
// 最大化
// 添加日期 -- 2015-07-29 21:41
private void toolStripMenuItemMaximize_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
this.mainNotifyIcon.Visible = true;
this.Show();
}

// 添加托盘程序右键菜单项
// 版本更新自1.0.1
// 还原
// 添加日期 -- 2015-07-29 21:43
private void toolStripMenuItemNormal_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Normal;
this.mainNotifyIcon.Visible = true;
//this.m_cartoonForm.CartoonShowNormal();
this.Show();
}

// 添加托盘程序右键菜单项
// 版本更新自1.0.1
// 退出
// 添加日期 -- 2015-07-29 21:44
private async void toolStripMenuItemQuit_Click(object sender, EventArgs e)
{
if (MessageBox.Show("你确定要退出?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{

this.mainNotifyIcon.Visible = false;
this.Close();
this.Dispose();
System.Environment.Exit(System.Environment.ExitCode);

}
}
}
C#winform怎样实现托盘

双击托盘,窗体还原;右击窗体,出现托盘菜单,实现最小化,最大户,还原,退出等。这样的功能C#winform怎样实现呢 ?实现 WinForm中托盘菜单由NotifyIcon控件来实现,右键菜单由contextMenuStrip来实现,我们将二者相关联,即可实现我们所期望功能的托盘程序。添加控件 我们在需要托盘的form界面上拖入NotifyIcon和...

c# winform最小化到托盘

1.在form中添加一个NotifyIcon控件 2.把87.ico这个图标放在binDebug目录下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 将程序最小化到系统托盘 { public partial c...

【C#】WinForm中如何让窗口最小化时直接最小化到托盘,后台运行

1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。3.添加窗体最小化事件(首先需要添加事件引用):代码如下:this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);//上面一行是主窗体InitializeComponent()方法中需要添加的...

C# winfrom开发中如何实现在程序已最小化到系统托盘

用notifyIcon控件可以实现,可以更换托盘的图标,不过图片格式为.ico所以一般的jpg图片要转换成ico才可用

C#中怎么让程序运行的时候出现在系统托盘区

1、需要notifyIcon控件 2、需要:Form1_FormClosing 与 Form1_SizeChanged 3、Form1_FormClosing中=== e.Cancel = true;this.Hide();this.notifyIcon1.Text = "服务正在运行...";this.notifyIcon1.ShowBalloonTip(1000,"提示","服务正在运行...",System.Windows.Forms.ToolTipIcon.Info);4、Form1_...

能不能用c#语言写一个能让我调用上来的程序最小化到托盘里!!??

一、添加notifyIcon控件 二、加入方法 //实现.net系统托盘 //隐藏程序显示托盘,notifyIcon 是.net自带的NotifyIcon控件,要显示托盘需要设置notifyIcon的显示图标 //没有要显示的图标,托盘是不会显示的 private void menuItem13_Click(object sender, System.EventArgs e){ notifyIcon1.Visible = true;this....

C# 如何将某一个应用程序最小化到任务托盘!

如果不是:这要取决于你使用的应用程序有没有最小化到托盘的功能.如果是:C#编写最小化时隐藏为任务栏图标的 Window appllication.1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。3.添加窗体最小化事件(首先需要添加事件引用):this....

C#winform如何把其他正在运行的程序(比如QQ,暴风影音等)不显示在任务栏...

这个不好实现吧,毕竟那些东西都没有代码的,如果要改他的属性比如qq就有属性可以设置如何显示,但是通过程序来改不好弄,不过你非要实现可以通过窗口句柄来完成。

c#窗体点击关闭按钮怎么最小化到托盘中而不退出程序?

region窗体最小化到状态栏\x0d\x0aprivatevoidMainForm_FormClosing(objectsender,EventArgse)\x0d\x0a{\x0d\x0aif(this.WindowState==FormWindowState.Minimized)\x0d\x0a{e.cancel=true;//取消关闭窗体事件\x0d\x0anotifyIcon1.Visible=true;\x0d\x0athis.Hide();\x0d\x0athis....

QQ最小化到托盘的代码

TrayIcon.Text = "用Visual C#做托盘程序" + "n" + "作者:马金虎于2001.12.08" ;(4).如何在托盘程序加入菜单:在NotifyIcon组件中有一个对象叫ContextMenu,在托盘程序中显示出的菜单就是通过设定此对象来实现的。以下的程序代码是为托盘程序加入菜单项:notifyiconMnu = new ContextMenu ( mnu...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
内蒙古大学满洲里学院奖学金和保障 内蒙古自治区关于工伤保险与人身损害赔偿的规定 关于内蒙古惠蒙保,因为意外伤害发生的住院都可以理赔吗? 飞翔石家庄歌词 飘渺之旅之系列书有哪些 我要想知道飘渺之旅系列的所有书籍. 也就是.飘渺尊者旅2之后的书. 《飘渺神之旅》的续集、书名叫什么名字? 《飘邈之旅》后续到底有哪些啊 飘邈之旅、飘渺神之旅、飘渺尊者、飘渺尊... 飘渺之旅之后该看什么? 猪不吃食。没精神 游子吟表达了诗人的什么思想感情 教你金士顿u盘修复工具? 金士顿u盘修复工具如何使用,小编 金士顿u盘如何修复,用什么修复工具 金士顿u盘修复工具,16G的,,我装几个电影,还没装完就没反应了,急 用啊 求金士顿u盘修复工具(iCreate PDX16) V1.31 官方版网盘资源 给老人贺寿诗 祝寿诗句唯美古诗 有没有给老人祝寿的诗词? 求一首给90岁的外公祝寿诗 9o岁祝寿诗词 适合给90岁过寿老人做寿词的古诗词有什么啊,希望各位可以给予回答,我很急,多谢多谢 给90岁老人的祝寿词 给八十老人的祝寿诗词? 祝福老人寿宴的诗句 激光打标机 哪种类型比较适合小型工厂? 还京东白条怎么会收到验证码说把钱转去肯特瑞基金? 为什么金条转到微信 交易方是京东肯特瑞 京东金融app直接转账入小金库零用钱账户,为什么显示是转入肯特瑞小金库 京东肯特瑞基金能退吗? C#winform如何把其他正在运行的程序(比如QQ,暴风影音等)不显示在任务栏,显示在托盘中 游子吟孟郊写的这首诗的主旨 c# winForm开发,关于最小化到托盘图标的问题 游子吟本诗的主旨是什么 游子吟表达的中心思想 C#实现WinForm程序的动态系统托图标 游子吟描写的中心思想是什么 C# 窗体拖盘图标改Notifyicon图标,怎么改变任务栏图标 游子吟主要内容是什么 “winform中怎样让系统托盘中的右键菜单现实在任务栏之上 ”这个问题您解决了吗?能否指导一下,跪谢!! 游子吟的中心思想 winform中怎样让系统托盘中的右键菜单现实在任务栏之上 C# WinForm 窗体最小化之后 点击最大化时 只显示整个窗体的一角,不显示全部 游子吟全文对主旨的什么突出诗人深刻的思想感情? 游子吟的主旨是 【C#】WinForm中如何让窗口最小化时直接最小化到托盘,后台运行 C# 无边框WinForm 点击任务栏图标时,如何实现放大缩小操作? 《游子吟》的思想感情是什么? C# 如何将某一个应用程序最小化到任务托盘! 阅读下面的古诗,回答1~2题,游子吟回答2题本诗主旨是什么?慨括出来
  • 焦点

最新推荐

猜你喜欢

热门推荐