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 { } |
更新:
我已附加图标,但图标仍未显示在系统托盘上
我想出了如何使表单显示,我需要将以下代码添加到
1
2 3 4 |
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{ this.Show(); } |
您可以在设计时使用属性表设置通知图标:
或者您可以使用以下代码在运行时添加/更改图标属性:
1
|
这就是我通过 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 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269537.html