Могу ли я использовать подсказку Balloon из одного класса, тогда как NotifyIcon находится в другом классе? - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть основная форма, к которой прикреплен NotifyIcon для всплывающих подсказок. У меня есть отдельный класс BalloonTip, который выполняет некоторую обработку, чтобы определить, что входит в шар. Как я могу использовать notifyIcon в моей основной форме / классе из моего класса BalloonTip?

РЕДАКТИРОВАТЬ: я не уверен, как передать значок уведомления по ссылке

//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)

Есть предложения?

1 Ответ

1 голос
/ 19 декабря 2011

Вам просто нужно передать ссылку на NotifyIcon в класс BalloonTip.Я не знаю, как выглядит ваш класс BalloonTip, но в основном вам нужно добавить метод, подобный этому:

void DoSomething(NotifyIcon notifyIcon);

Другой вариант может состоять в том, чтобы передать значок уведомления в конструктор BalloonTip, вточно так же и сделайте копию ссылки.Это может иметь смысл, если вам нужен постоянный доступ к значку уведомления.

Однако это тесно связывает два класса и может ограничивать, если вам когда-либо понадобится использовать всплывающую подсказку без значка уведомления.

Таким образом, еще одним вариантом будет извлечь информацию из значка уведомления в вашем основном классе формы и передать ее в ваш класс всплывающих подсказок.Это сохраняет два класса независимыми и независимыми.Конечно, если всплывающая подсказка должна вызывать методы значка уведомления, такой подход не будет работать.

...