Minimize to system tray
我按照页面上的说明进行操作
但是,应用程序没有附加图标,所以隐藏表单后,我无法重新显示表单,因为系统托盘上没有图标,
我该如何解决这个问题?
这是我的代码
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
private void Form1_Resize(object sender, EventArgs e)
{ if (FormWindowState.Minimized == this.WindowState) { notifyIcon1.Visible = true; cmd.cetakSukses(ident.judul_App +” Diperkecil ke dalam System Tray”); notifyIcon1.BalloonTipText = ident.judul_App +” Diperkecil ke dalam System Tray”; notifyIcon1.BalloonTipTitle = ident.judul_App; notifyIcon1.BalloonTipIcon = ToolTipIcon.Error; notifyIcon1.ShowBalloonTip(500); this.Hide(); } else { } |
更新:
我已附加图标,但图标仍未显示在系统托盘上
我想出了如何使表单显示,我需要将以下代码添加到 notifyicon
1
2 3 4 |
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{ this.Show(); } |
- @MarioStoilov 我的意思是系统托盘中的一个图标,所以当我们双击系统托盘上的图标时,它将显示表单
- 我的意思是您是否尝试仅附加一个图标。合乎逻辑的是,如果您没有设置图标,则托盘中不会显示任何内容。
- @Cignitor 您已经为表单添加了图标。您需要将图标添加到 NotifyIcon 控件。请看下面我的回答。
- 系统托盘?那是什么?你是说通知区吗?请不要这样做,您正在滥用通知区域的用途。请不要弄乱那个区域,它是为了通知用户需要采取行动的事情。当您想要最小化应用程序时使用任务栏(这是用户期望的)。
您可以在设计时使用属性表设置通知图标:
或者您可以使用以下代码在运行时添加/更改图标属性:
1
|
- 哦,是的,我已按照您的说明进行操作,图标在那里,在我的系统托盘上,但是,没有办法显示表格,我双击图标,表格没有显示。
- 您需要向 NotifyIcon.DoubleClick 事件添加代码以更改表单的可见性。
这就是我通过 WPF 应用程序背后的代码实现的方式。
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
System.Windows.Forms.NotifyIcon m_NotifyIcon;
public StartWindow() m_NotifyIcon = new System.Windows.Forms.NotifyIcon(); m_NotifyIcon.DoubleClick += delegate(object sender, EventArgs args) protected override void OnClosing(System.ComponentModel.CancelEventArgs e) base.OnClosing(e); protected override void OnStateChanged(EventArgs e) base.OnStateChanged(e); |
您需要通过使用 Visual Studio 或以编程方式为您的应用程序提供一个图标。
您可以在 VS 中通过转到项目属性并选择应用程序选项卡来执行此操作
或者,如果您的项目已经附加了图标文件,您可以在运行时设置它。
1
2 3 |
来源:https://www.codenong.com/23245805/