关于c#:最小化到系统托盘 | 珊瑚贝

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
        {                

        }
    }

更新:

我已附加图标,但图标仍未显示在系统托盘上

enter

我想出了如何使表单显示,我需要将以下代码添加到 notifyicon

1
2
3
4
 private void notifyIcon1_DoubleClick(object sender, EventArgs e)
    {
        this.Show();
    }

  • @MarioStoilov 我的意思是系统托盘中的一个图标,所以当我们双击系统托盘上的图标时,它将显示表单
  • 我的意思是您是否尝试仅附加一个图标。合乎逻辑的是,如果您没有设置图标,则托盘中不会显示任何内容。
  • @Cignitor 您已经为表单添加了图标。您需要将图标添加到 NotifyIcon 控件。请看下面我的回答。
  • 系统托盘?那是什么?你是说通知区吗?请不要这样做,您正在滥用通知区域的用途。请不要弄乱那个区域,它是为了通知用户需要采取行动的事情。当您想要最小化应用程序时使用任务栏(这是用户期望的)。


您可以在设计时使用属性表设置通知图标:

Notify

或者您可以使用以下代码在运行时添加/更改图标属性:

1
notifyIcon1.Icon = new Icon(“appicon.ico”);
  • 哦,是的,我已按照您的说明进行操作,图标在那里,在我的系统托盘上,但是,没有办法显示表格,我双击图标,表格没有显示。
  • 您需要向 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()
    {
        InitializeComponent();

        m_NotifyIcon = new System.Windows.Forms.NotifyIcon();
        m_NotifyIcon.Icon = new System.Drawing.Icon(IconPath);
        m_NotifyIcon.Visible = true;
        m_NotifyIcon.BalloonTipTitle =“Tip here”;
        m_NotifyIcon.Text =“Text here”;

        m_NotifyIcon.DoubleClick += delegate(object sender, EventArgs args)
        {
            this.Show();
            this.WindowState = WindowState.Normal;
        };
    }

    protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
    {
        try
        {
            if (m_NotifyIcon != null)
                m_NotifyIcon.Dispose();
        }
        catch { }

        base.OnClosing(e);
    }

    protected override void OnStateChanged(EventArgs e)
    {
        if (WindowState == WindowState.Minimized)
            this.Hide();

        base.OnStateChanged(e);
    }


您需要通过使用 Visual Studio 或以编程方式为您的应用程序提供一个图标。

您可以在 VS 中通过转到项目属性并选择应用程序选项卡来执行此操作

或者,如果您的项目已经附加了图标文件,您可以在运行时设置它。

1
2
3
private NotifyIcon appIcon = new NotifyIcon();

appIcon.Icon = new System.Drawing.Icon(“myApp.ico”);


来源:https://www.codenong.com/23245805/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8880.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?