C#实现系统托盘及窗体最小化时隐藏为任务栏图标的Window appllication

1.设置窗体属性showintask=false

2.加notifyicon控件notifyicon1,为控件notifyicon1的属性icon添加一个icon图标。

3.添加窗体最小化事件(首先需要添加事件引用):

//this.sizechanged+=newsystem.eventhandler(this.form1_sizechanged);
//上面一行是主窗体initializecomponent()方法中需要添加的引用 
privatevoidform1_sizechanged(objectsender,eventargse)
{
if(this.windowstate==formwindowstate.minimized)
{
this.hide();
this.notifyicon1.visible=true;
}
}

4.添加点击图标事件(首先需要添加事件引用):

privatevoidnotifyicon1_click(objectsender,eventargse)
{
this.visible=true;
this.windowstate=formwindowstate.normal;
this.notifyicon1.visible=false;
}

5.可以给notifyicon添加右键菜单:

主窗体中拖入一个contextmenu控件contextmenu1,点中控件,在上下文菜单中添加菜单,notifyicon1的contextmenu行为中选中contextmenu1作为上下文菜单。

(可以在子菜单中添加行为)

时间: 2024-12-03 14:02:57

C#实现系统托盘及窗体最小化时隐藏为任务栏图标的Window appllication的相关文章

C#编写最小化时隐藏为任务栏图标的Window appllication.

window C#编写最小化时隐藏为任务栏图标的Window appllication. 1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小化事件(首先需要添加事件引用): this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //上面一行是主窗体Initializ

怎么让程序最小化时不在任务栏上显示,而在左下角显示

问题描述 怎么让程序最小化时不在任务栏上显示,而在左下角显示 解决方案 解决方案二:窗体中有个属性:ShowInTaskbar,设定为false,就不会在任务栏中出现了解决方案三:是右下角吧有现成的控件啊好像是什么No开头的呵呵自己看看吧解决方案四:窗体隐藏起来,有个叫hide的方法.小图标那个是叫什么T..Ico的控件解决方案五:添加NotifyIcon控件,然后重载OnSizeChangedprotectedoverridevoidOnSizeChanged(EventArgse){base

有关winform,将一个窗体最小化后再显示会重新绘画窗体吗?

问题描述 有关winform,将一个窗体最小化后再显示会重新绘画窗体吗? 小白,刚接触这方面.在用一个窗体时遇到的问题. 我在这个窗体上画了几个形状,当我把窗体最小化后,再度点开,窗体就会重新初始化重新绘制,之前画的几个形状就没有了.这是winform的特性吗?又没有什么办法让窗体最小化后之前画的图依旧存在? 解决方案 参考这个帖子:http://bbs.csdn.net/topics/80143504 解决方案二: 吧绘画函数放到 override OnPaint 函数里,这样每次窗口需要重画

添加用户自定义控件后,窗体最小化就出现错误

问题描述 问题如下:添加了一个从codeproject下载过来的dll,具体功能是将RichTextBox可以将BackColor设置为Transparent.然后从工具箱拖动到winForm界面上,调试运行没问题,最大化没问题,窗口拖动也没问题.但是窗体最小化的时候就出现以下提示:"System.ArgumentException"类型的未经处理的异常出现在System.Drawing.dll中.其他信息:参数无效.删去这个dll里面的控件后,就可以最小化了.请问是什么问题造成的??

将窗体最小化到状态栏,每次点击打开窗的菜单窗体都会重新打开,我想实现当第二次打开窗体时只要激活第一次打开的窗体

问题描述 我用一下代码将窗体最小化到状态栏,但是我现在每点一次打开窗口的菜单,程序就又重新打开一次原先的窗体,我想实现当第二次打开窗体时只要激活第一次打开的窗体,应该如何实现?//先建一个FormBase的基类,子窗体都从这个基类继承publicclassFormBase:System.Windows.Forms.Form{publicdelegatevoidFormMinSize(objectsender,EventArgse);publiceventFormMinSizeOnFormMinS

CB的Form最小化时无动画的原因

问: 我现在也搞不懂,甚至认为无法让CB的主窗口有动画的效果. 因为在任务条上的按钮所代表的窗口是Application窗口,而不是 Project所选定的Mainform.如果强行让Mainform动态地Minimize, 就会最小化到桌面的左下角去了. 答: 我基本上同意你的看法.Delphi & BCB 中的的主窗口都是TApplication,一般情况下,这个窗口居于屏幕中间,大小为0x0.底部TaskBar上的按钮 也是TApplication窗口.应用程序的主窗口如TForm1,不是

在C#中,如何设置系统托盘,按窗体最小化按钮时缩小到任务栏(托盘图标保留),按关闭按钮时缩小到托盘?

问题描述 在窗体的from_Closing事件中调用this.ShowInTaskbar=false;notifyIcon1.Visible=true;这两句代码也没用,重写onClosing方法也不行,但求甚解!Thankyouforthat! 解决方案 解决方案二:privatevoidForm1_SizeChanged(objectsender,EventArgse){if(this.WindowState==FormWindowState.Minimized)//最小化{this.Hid

C#怎样才能实现窗体最小化到托盘呢?_C#教程

private void Form1_Resize(object sender, System.EventArgs e) {     if (this.WindowState == FormWindowState.Minimized) {         this.Visible = false;         this.notifyIcon1.Visible = true;     } } private void notifyIcon1_Click(object sender, Syste

让程序在前端显示和最小化时在系统栏里

程序缩成图标!  /*参数说明:hWnd,不用多说了吧? uId,图标排在系统栏中的位置,设为0即可 hIcon,图标 s,鼠标移到图标上要显示的话 */ /*注意:你必须自定义一个窗口消息MYWM_ICON, #define MYWM_ICON  (WM_APP+100) 在窗口循环中响应该消息: case MYWM_ICON:switch(lParam){  case WM_LBUTTONDOWN:  case WM_RBUTTONDOWN:} 以响应鼠标在该程序图标上的击键动作. 如果你想