NotifyIconが別のクラスにある間に、あるクラスのバルーンチップを使用できますか?

私はバルーンチップのためにNotifyIconが添付された私のメインフォームを持っています。私はバルーンに入るものを決定するために何らかの処理を行う別々のBalloonTipクラスを持っています。 BalloonTipクラスのメインフォーム/クラスでnotifyIconを使用するにはどうすればよいですか?

編集:私はどのように参照によって通知アイコンを渡すか分からない

//passing data to my balloon class
ShowBalloonTip(data, ref notifyIcon1);

//not sure how to receive the notifyicon here
public void ShowBalloonTip(string s, object notifyicon)

助言がありますか?

0
私はそれをどうやって行うのか分からない。更新のための私のopを見てください。
追加された 著者 Fuzz Evans,
あなたが公式に質問に答えるなら、私はそれを正しいものとして受け入れることができます。あなたの答えは完璧でした。
追加された 著者 Fuzz Evans,
NotifyIconへの参照をBalloonTipインスタンスに渡します。
追加された 著者 David Heffernan,
それはかなり基本的です。タイプ NotifyIcon のパラメータを取る BalloonTip クラスのメソッドが必要です。 ref object などはありません。ちょうどこのような何か: void DoSomething(NotifyIcon notifyIcon);
追加された 著者 David Heffernan,

1 答え

NotifyIcon への参照を BalloonTip クラスに渡すだけです。あなたの BalloonTip クラスの外観はわかりませんが、基本的には次のようなメソッドを追加する必要があります:

void DoSomething(NotifyIcon notifyIcon);

別のオプションは、通知アイコンをまったく同じ方法で BalloonTip コンストラクタに渡し、参照のコピーを作成することです。これは、通知アイコンに繰り返しアクセスする必要がある場合に意味があります。

しかし、これは、2つのクラスを緊密に結びつけています。通知アイコンを使用せずにバルーンチップを使用する必要がある場合は、制限があります。

したがって、別のオプションは、メインフォームクラスの通知アイコンから情報を抽出し、バルーンチップクラスに渡すことです。これにより、2つのクラスが分離され独立した状態に保たれます。もちろん、バルーンチップが通知アイコンのメソッドを呼び出す必要がある場合、その方法は機能しません。

1
追加された
私はnotifyiconに繰り返しアクセスする必要があります。通知アイコンから情報を抽出することはどういう意味ですか?
追加された 著者 Fuzz Evans,
私はメインフォームと設定フォームを持っています。私はnotifyIcon1を持っているメインフォームに添付されています。バルーンプロンプトを表示するためにnotifyIcon1を使用しようとしています。私が取り組んでいる問題は、BalloonTipというクラスがあることです。いずれかのフォームから異なるイベントが異なる文字列をBalloonTipクラスに送信します。そのクラスには、入ってくるデータに基づいてテキストのタイトルと本文を割り当てるswitch文があります。私は、これが、複数のバルーンチップを投げる複数のフォームに対処する最もクリーンな方法であると考えました。
追加された 著者 Fuzz Evans,
実際にはさらにレビューすると、元の回答でOKかもしれません。特定の文字列をこのメソッドに送信することによって特定のバルーンチップをトリガするダースのイベントがあります。このメソッドは文字列とnotifyIcon1をBalloonTipクラスに渡します。したがって、実際には1つのメソッドだけがnotifyIconを送信する必要があります。
追加された 著者 Fuzz Evans,
NotifyIconのいくつかのプロパティを知る必要がある場合は、それらを渡すことができます。 NotifyIconのメソッドを呼び出す必要がある場合、それは動作しません。あなたがやろうとしていることを正確に実行するのはちょっと難しいと思っていますので、私はちょっと慌てています。
追加された 著者 David Heffernan,