【问题标题】:Missing form after Minimize - Windows form application最小化后缺少表单 - Windows 表单应用程序
【发布时间】:2010-10-12 12:54:51
【问题描述】:

我尝试将我的表单最小化到系统托盘,但是当我这样做时,表单消失并且通知图标不起作用:(

我做错了什么?

Private Sub Form1_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
    If Me.WindowState = FormWindowState.Minimized Then
        Me.Visible = False
        NotifyIcon1.Visible = True
    End If
End Sub


Private Sub NotifyIcon1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.DoubleClick, NotifyIcon1.BalloonTipClicked
    Me.WindowState = FormWindowState.Normal
    Me.Visible = True
    NotifyIcon1.Visible = False
End Sub

我在 aspx 页面中初始化 NotificationIcon 文本、气球提示和其他内容

【问题讨论】:

    标签: vb.net winforms


    【解决方案1】:

    这是在 C# 中,但想法应该很明显:)

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

    【讨论】:

    • 想法很明显,但我的错误是忘记在 Form_Load 中初始化通知图标
    • Private Sub Timer1_Tick(ByVal Sender As Object, ByVal e As EventArgs) Handles Timer1.Tick Button3.PerformClick() ' BUMP ALL End Sub Button 每 60 秒点击一次,但在最小化时,它不执行任何操作,当我调整表单大小(最大化)时,它会再次起作用。这是什么原因?
    • 因为 PerformClick 的实现检查按钮的属性 CanSelect 并且如果它是假的 - 什么都不做: public void PerformClick() { if (base.CanSelect) {
    • 我该如何解决这个问题?
    • 只需调用您为Button.Click事件订阅的方法(button3_Click(null, null)),而不是调用PerformClick,或者重新设计您的类。
    【解决方案2】:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        NotifyIcon1.Icon = Me.Icon
    End Sub
    

    在教程中没有告诉我在表单加载中包含图标,这就是原因。

    问题解决了! :)

    【讨论】:

      猜你喜欢
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-04
      • 1970-01-01
      相关资源
      最近更新 更多