【问题标题】:Calling NotifyIcon.ShowBalloonTip() from another class从另一个类调用 NotifyIcon.ShowBalloonTip()
【发布时间】:2010-09-25 02:39:49
【问题描述】:

我正在用 C# 开发一个 Windows 窗体应用程序。我有一个名为 MainWindow 的主窗体和一个名为 notifyIcon 的 NotifyIcon 对象,它属于 MainWindow 类。

我使用其他类的 notifyIcon 的最佳方式是什么?

我知道,没有实例,我只能访问类的公共静态成员,但如果我将 notifyIcon 设置为公共静态,它将停止在 MainWindow 上工作。

有什么想法吗?

【问题讨论】:

    标签: c# notifyicon


    【解决方案1】:

    如果是同一个应用程序,您可以使用

    Application.OpenForms
    

    检索打开的表单。

    这个属性返回一个FormCollection,你可以从那里得到表单实例。 More info here.

    如果不是同一个程序集see this

    【讨论】:

    • 我试过这个,但是当我做'Form main = Application.OpenForms["MainWindow"];'时,我仍然无法调用MainWindow的公共方法。
    • @Jr.你错过了一个演员表。不是Form main,应该是var main = Application.OpenForms["MainWindow"] as YourFormThatInheritsFromForm;Form 不知道你的方法,只有子类知道。
    【解决方案2】:

    您可以在表单上公开一个公共方法。该方法可以内部调用notifyicon上的方法

    【讨论】:

    • 我认为访问一个公共方法,你需要创建一个该表单的对象,如果你创建一个该表单的新对象,那么会有2个通知图标。
    猜你喜欢
    • 2016-10-12
    • 2014-02-07
    • 2018-06-09
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多