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

如题!我不是指最小化到任务栏,而是最小化到系统托盘就像系统音量调节图标一样,在任务栏中是不显示被最小化的程序的!
不好意思,我想各位是误会了我的意思。我是指通过C#调用系统API操作其它的应用程序。而不是实现自身到托盘!比如我通过获取某个程序的窗体句柄,然后对这个程序进行操作。

楼主你说的是编程?
如果不是:这要取决于你使用的应用程序有没有最小化到托盘的功能.
如果是:

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

1.设置WinForm窗体属性showinTask=false

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

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

this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);

//上面一行是主窗体InitializeComponent()方法中需要添加的引用

private void Form1_SizeChanged(object sender, EventArgs e)
{
if(this.WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible=true;
}
}

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

private void notifyIcon1_Click(object sender, EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;
}

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

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

this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.NicontextMenu = new System.Windows.Forms.ContextMenu();
this.menuItem_Hide = new System.Windows.Forms.MenuItem();
this.menuItem_Show = new System.Windows.Forms.MenuItem();
this.menuItem_Aubot = new System.Windows.Forms.MenuItem();
this.menuItem_Exit = new System.Windows.Forms.MenuItem();

this.notifyIcon1.ContextMenu = this.NicontextMenu;
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject( "NotifyIcon.Icon ")));
this.notifyIcon1.Text = " ";
this.notifyIcon1.Visible = true;
this.notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);
this.notifyIcon1.Click += new System.EventHandler(this.notifyIcon1_Click);

this.NicontextMenu.MenuItems.AddRange(

new System.Windows.Forms.MenuItem[]
{
this.menuItem_Hide,
this.menuItem_Show,
this.menuItem_Aubot,
this.menuItem_Exit
}
);

//
// menuItem_Hide
//
this.menuItem_Hide.Index = 0;
this.menuItem_Hide.Text = "隐藏 ";
this.menuItem_Hide.Click += new System.EventHandler(this.menuItem_Hide_Click);
//
// menuItem_Show
//
this.menuItem_Show.Index = 1;
this.menuItem_Show.Text = "显示 ";
this.menuItem_Show.Click += new System.EventHandler(this.menuItem_Show_Click);
//
// menuItem_Aubot
//
this.menuItem_Aubot.Index = 2;
this.menuItem_Aubot.Text = "关于 ";
this.menuItem_Aubot.Click += new System.EventHandler(this.menuItem_Aubot_Click);
//
// menuItem_Exit
//
this.menuItem_Exit.Index = 3;
this.menuItem_Exit.Text = "退出 ";
this.menuItem_Exit.Click += new System.EventHandler(this.menuItem_Exit_Click);

protected override void OnClosing(CancelEventArgs e)
{
this.ShowInTaskbar = false;
this.WindowState = FormWindowState.Minimized;
e.Cancel = true;
}
protected override void OnClosing(CancelEventArgs e)
{
//this.ShowInTaskbar = false;
this.WindowState = FormWindowState.Minimized;
e.Cancel = true;
}

private void CloseCtiServer()
{
timer.Enabled = false;
DJ160API.DisableCard();
this.NotifyIcon.Visible = false;
this.Close();
this.Dispose();
Application.Exit();
}

private void HideCtiServer()
{
this.Hide();
}

private void ShowCtiServer()
{
this.Show();
this.WindowState = FormWindowState.Normal;
this.Activate();

}
private void CtiManiForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
this.CloseCtiServer();
}

private void menuItem_Show_Click(object sender, System.EventArgs e)
{
this.ShowCtiServer();
}

private void menuItem_Aubot_Click(object sender, System.EventArgs e)
{

}

private void menuItem_Exit_Click(object sender, System.EventArgs e)
{
this.CloseCtiServer();
}

private void menuItem_Hide_Click(object sender, System.EventArgs e)
{
this.HideCtiServer();
}

private void CtiManiForm_SizeChanged(object sender, System.EventArgs e)
{
if(this.WindowState == FormWindowState.Minimized)
{
this.HideCtiServer();
}
}

private void notifyIcon1_DoubleClick(object sender,System.EventArgs e)
{
this.ShowCtiServer();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-02
为你的窗体添加一个notifyIcon按钮,然后在和窗体绑定,很自然上面也可以加一些菜单,这个控件很容易理解,希望继续加油!

参考资料:北大青鸟教材C#

第2个回答  2008-12-02
不能除非那个应用程序支持不然不能的!如果你要将其隐藏到还可以去网上下个隐藏程序的软件就可以办到!·
第3个回答  2008-12-02
在窗体中加入contextMenu控件即可,再加入notifyIcon1控件可设置在任务托盘中的图标
第4个回答  2008-12-02
1.设置WinForm窗体属性ShowInTaskbar=false
this.ShowInTaskbar = false;
2.加NotifyIcon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。
3.添加窗体最小化事件(首先需要添加事件引用):
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible = true;
}

}
4.添加点击图标事件(首先需要添加事件引用):
private void notifyIcon1_Click(object sender, EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;

}

参考资料:自己的程序

本回答被提问者和网友采纳

C# 如何将某一个应用程序最小化到任务托盘!
1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。3.添加窗体最小化事件(首先需要添加事件引用):this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);\/\/上面一行是主窗体InitializeComponent()方法中需要添加的引用 privat...

我用C#写了一个程序可以最小化到托盘,恢复代码我忘了,还望大侠们指点江...
一、添加notifyIcon控件 二、加入方法 \/\/实现.net系统托盘 \/\/隐藏程序显示托盘,notifyIcon 是.net自带的NotifyIcon控件,要显示托盘需要设置notifyIcon的显示图标 \/\/没有要显示的图标,托盘是不会显示的 private void menuItem13_Click(object sender, System.EventArgs e){ notifyIcon1.Visible = true;this....

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# 程序运行后,立刻最小化到托盘
直接在你的主窗口主函数里面写就好,在InitializeComponent();之后写

c#窗体点击关闭按钮怎么最小化到托盘中而不退出程序?
楼主你好~可以在窗体的Closing事件中进行操作,大约如下:privatevoid Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e){ \/\/ 取消关闭窗体 e.Cancel = true;\/\/ 将窗体变为最小化 this.WindowState = FormWindowState.Minimized;} 如果要实现最小化到托盘,则必须在窗体内加入控件...

C# winfrom开发中如何实现在程序已最小化到系统托盘
用notifyIcon控件可以实现,可以更换托盘的图标,不过图片格式为.ico所以一般的jpg图片要转换成ico才可用

怎么用c#语句让调用出来的程序最小化到托盘!—就是调用之后不显示窗口...
c#搞托盘很简单的,下面的文章有详细讲解 http:\/\/blog.csdn.net\/gztoby\/archive\/2004\/09\/19\/109726.aspx 不过你的问题首先要你调用的程序支持托盘,也就是那个程序本身可以托盘。祝你好运!

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....

C#winform怎样实现托盘
窗体关闭时,并不真正关闭程序,只是任务栏不显示该应用程序,在右下侧托盘里显示;双击托盘,窗体还原;右击窗体,出现托盘菜单,实现最小化,最大户,还原,退出等。这样的功能C#winform怎样实现呢 ?实现 WinForm中托盘菜单由NotifyIcon控件来实现,右键菜单由contextMenuStrip来实现,我们将二者相关联,即可...

怎么在C#中单击一个按钮窗口最小化到右下角?
拉个notifyIcon控件,该控件可以设置最小化时托盘图标。添加notifyIcon单击或者双击事件。\/\/\/ \/\/\/ 到托盘 \/\/\/ \/\/\/ \/\/\/ private void notifyIcon1_DoubleClick(object sender, EventArgs e){ this.Visible = !this.Visible;\/ 如果主窗口已隐藏,便显示;已显示,便隐藏。也可以使用透明度,如 ...

相似回答