Nano Hash - криптовалюты, майнинг, программирование

Могу ли я использовать всплывающую подсказку из одного класса, в то время как NotifyIcon находится в другом классе?

У меня есть основная форма, к которой прикреплен 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)

Какие-либо предложения?


  • Передайте ссылку на NotifyIcon экземпляру BalloonTip. 19.12.2011
  • Я не уверен, как это сделать. Смотрите мой оп для обновления. 19.12.2011
  • Это довольно просто. Вам нужен метод класса BalloonTip, который принимает параметр типа NotifyIcon. Никаких ref или object или чего-то подобного. Примерно так: void DoSomething(NotifyIcon notifyIcon); 19.12.2011
  • Если вы ответите на вопрос официально, я могу принять его как правильный. Ваш ответ был идеальным. 19.12.2011

Ответы:


1

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

void DoSomething(NotifyIcon notifyIcon);

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

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

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

18.12.2011
  • Мне нужно неоднократно обращаться к значку уведомлений. Что вы подразумеваете под извлечением информации из значка уведомления? 19.12.2011
  • Если вам просто нужно знать пару свойств NotifyIcon, вы можете передать их. Если вам нужно вызвать методы NotifyIcon, это не сработает. Я немного бессвязный, потому что мне немного сложно понять, что именно вы пытаетесь сделать. 19.12.2011
  • У меня есть основная форма и форма настроек. К основной форме прикреплен файл notifyIcon1. Я пытаюсь использовать этот notifyIcon1 для отображения всплывающих подсказок. Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть класс BalloonTip. Из любой формы разные события отправляют разные строки в класс BalloonTip. В этом классе есть оператор switch, который присваивает заголовок и основную часть текста на основе входящих данных. Я подумал, что это будет самый чистый способ справиться с несколькими формами, бросающими несколько подсказок с воздушными шарами. 19.12.2011
  • На самом деле после дальнейшего рассмотрения я думаю, что с вашим первоначальным ответом может быть все в порядке. У меня есть дюжина различных событий, которые запускают определенную всплывающую подсказку, отправляя определенную строку этому методу, который передает строку, а также notifyIcon1 моему классу BalloonTip, поэтому на самом деле только 1 метод должен отправить notifyIcon. 19.12.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..