我已经在我的应用程序中创建了一个notifyicon,但是当应用程序关闭时,我想让它在系统中陷入困境任何人都知道如何解决这个问题?谢谢。 (如果您需要知道,请使用c#)
是否有可能在Windows启动时将应用程序作为托盘启动?
答案 0 :(得分:0)
处理表单的Resize事件。在此处理程序中,您将覆盖Resize事件的基本功能,以使表单最小化到系统托盘而不是任务栏。这可以通过在表单的Resize事件处理程序中执行以下操作来完成:检查表单的WindowState属性是否设置为FormWindowState.Minimized。如果是,请隐藏表单,启用NotifyIcon对象,并显示显示某些信息的气球提示。一旦WindowState变为FormWindowState.Normal,通过将其Visible属性设置为false来禁用NotifyIcon对象。现在,您希望在双击任务栏中的NotifyIcon对象时再次出现该窗口。为此,处理NotifyIcon的MouseDoubleClick事件。在这里,您使用Show()方法显示表单。
让它从托盘开始不应该远远超过这个,并且在窗口关闭时尝试覆盖Closing事件来执行此操作
答案 1 :(得分:0)
在启动表单中将ShowInTaskbar属性更改为False 并且windowsState最小化,因此它将是不可见的
与我合作很好
这是我写的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
bool m_CloseApp = false;
public Form1()
{
InitializeComponent();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{if (m_CloseApp == false) {
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
}
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
m_CloseApp = true;
this.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
this.WindowState = FormWindowState.Minimized;
}
}
}
当用户关闭Form时,应用程序将不会退出,但是当他从notifyIcon的ContextMenuStrip中点击Exit按钮时,应用程序将被关闭