Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для vova_king
34 / 34 / 12
Регистрация: 29.07.2010
Сообщений: 417
1
.NET 4.x

Создать контекстное меню для NotifyIcon

18.06.2015, 17:38. Показов 2905. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время пробую написать контекстное меню для иконки в трее через функцию NotifyIcon.ContextMenu Для понимания его работы использовал код на msdn но у меня супятся ошибки и понять не чего не могу.

Кто может помогите новечку.
Миниатюры
Создать контекстное меню для NotifyIcon  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2015, 17:38
Ответы с готовыми решениями:

Как привязать контекстное меню из SandBar к NotifyIcon?
Как привязать контекстное меню из SandBar к NotifyIcon. К форме, кнопкам и т.д. получается, а к NotifyIcon никак привязать не могу.

Создать контекстное меню для нескольких TextBox
Все наверное знают, что при нажатии текста например в ворде и т.д правой клавишей мыши появляется панель, где кнопки - копировать,...

Контекстное меню для заголовка Listview
Подскажите, как прикрутить контекстное меню к правому щелчку по заголовку в Listview. Заранее благодарен

11
Почетный модератор
 Аватар для Памирыч
23245 / 9156 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
18.06.2015, 17:49 2
Лучший ответ Сообщение было отмечено vova_king как решение

Решение

vova_king, да просто берете обыкновенное ContextMenuStrip, заполняете, а потом привязываете к NotifyIcon: в ее свойствах есть ContextMenuStrip, там выбирайте Ваш
3
 Аватар для vova_king
34 / 34 / 12
Регистрация: 29.07.2010
Сообщений: 417
18.06.2015, 18:05  [ТС] 3
Да Вы просто ЗОЛОТОЙ Человек, спасибо большое, ни когда бы не догадался.
4
Почетный модератор
 Аватар для Памирыч
23245 / 9156 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
18.06.2015, 18:07 4
Цитата Сообщение от vova_king Посмотреть сообщение
Вы просто ЗОЛОТОЙ Человек
.
0
 Аватар для Vlad11
10 / 10 / 2
Регистрация: 12.05.2014
Сообщений: 229
22.06.2015, 08:40 5
Цитата Сообщение от vova_king Посмотреть сообщение
Да Вы просто ЗОЛОТОЙ Человек
+++++!
0
 Аватар для Leon37
78 / 24 / 4
Регистрация: 09.01.2015
Сообщений: 214
25.06.2015, 17:50 6
А если хочется создать меню в своем стиле? Например, создаем форму, делаем на ней свое меню, какое хотим... Вопрос: как форму привязать к NotifyIcon а не к трею?
0
Почетный модератор
 Аватар для Памирыч
23245 / 9156 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
25.06.2015, 18:28 7
Leon37, у NotifyIcon есть все необходимые события кликов.
Обрабатывайте их и показывайте свою форму, только и всего
0
 Аватар для Leon37
78 / 24 / 4
Регистрация: 09.01.2015
Сообщений: 214
25.06.2015, 18:35 8
Памирыч, Проблема не в отображении формы а привязки ее к значку.
0
Почетный модератор
 Аватар для Памирыч
23245 / 9156 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
25.06.2015, 20:32 9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Leon37, что Вы понимаете под "привязкой" Открытие или получение координат?
Про первое уже сказали, а про координаты - это Cursor.Position

Например, чтобы показать новую форму по ПКМ на иконке
VB.NET
1
2
3
4
5
6
7
8
9
    Public Pt As Point
    Private Sub NotifyIcon1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseClick
        If e.Button = Windows.Forms.MouseButtons.Right Then
            Pt = New Point(Cursor.Position.X - Form2.Width, Cursor.Position.Y - Form2.Height - 10)
            Form2.TopMost = True
            Form2.Show()
            Form2.Location = Pt
        End If
    End Sub
Результат:
Создать контекстное меню для NotifyIcon


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

Все это - разумеется, велосипед.
4
 Аватар для Leon37
78 / 24 / 4
Регистрация: 09.01.2015
Сообщений: 214
25.06.2015, 21:29 10
Памирыч, То что нужно. Остальное дело техники.
0
Почетный модератор
 Аватар для Памирыч
23245 / 9156 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
25.06.2015, 21:30 11
Цитата Сообщение от Leon37 Посмотреть сообщение
Остальное дело техники
Удачи Вам в этом деле. Она понадобится
0
 Аватар для Leon37
78 / 24 / 4
Регистрация: 09.01.2015
Сообщений: 214
25.06.2015, 22:15 12
Цитата Сообщение от Памирыч Посмотреть сообщение
Удачи Вам в этом деле. Она понадобится
Спасибо. В принципе, вопрос с закрытием формы решился довольно легко. Добавляем Таймер. Пока мышь "бегает" по окну или по элементам меню, таймер отключен. Если мышь уходить за пределы формы, включаем таймер.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.06.2015, 22:15
Помогаю со студенческими работами здесь

Свое контекстное меню для TextBox
Много написано в сети о контекстном меню для текстбокса для VB-6 а вот для VB.net ничего не нашел. Нашел, как убрать родимое...

Контекстное меню для DataGridView, как лучше сделать?
Привет друзья, всех с наступающим Новым Годом, всех Благ. Пишу для себя программу, и хочу сделать контекстное меню для строк...

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

Позиционирование контекстного меню NotifyIcon
При клике по NotifyIcon появляется контекстное меню левый низ которого находится в точке, где располагался на этот момент курсор мыши....

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
Tестирование Pull Request в Kubernetes с помощью vCluster
stackOverflow 03.03.2025
При работе с микросервисной архитектурой критически важно обеспечить качественное тестирование каждого изменения перед его слиянием в основную кодовую базу. Однако тестирование Pull Request в. . .
Использование пакета Context в Golang
bytestream 03.03.2025
Управление параллельными процессами в современных приложениях - сложная задача, особенно когда речь идет о микросервисной архитектуре и распределенных системах. Пакет context в Go - это гибкое. . .
WebAssembly и Go: Работа с DOM и обработка ошибок
bytestream 03.03.2025
WebAssembly представляет собой технологию, позволяющую запускать низкоуровневый код в браузере практически на нативной скорости. Особенно интересные возможности открываются при использовании. . .
WebAssembly и Go: Создание высокопроизводи­­тельных веб-приложений
bytestream 03.03.2025
WebAssembly - это технология, изменившая подход к созданию высокопроизводительных веб-приложений. До появления WebAssembly JavaScript оставался единственным языком программирования, который понимали. . .
Контексты в Go: отмена, тайм-ауты и распространение
bytestream 03.03.2025
В многопоточном программировании существует множество ситуаций, когда необходимо прерывать выполнение горутин или ограничивать время их работы. Отсутствие грамотного управления параллельными. . .
WebSocket в Go: создание масштабируемых real-time приложений
bytestream 03.03.2025
Веб-приложения все чаще требуют обработки данных в режиме реального времени. Традиционный подход с использованием HTTP-запросов имеет существенные ограничения для таких сценариев. При каждом запросе. . .
Как дебажить в Go: Руководство по отладке
bytestream 03.03.2025
Отладка в Go имеет свои особенности, связаные с строгой типизацией, моделью конкурентности и управлением памятью. Go предоставляет богатый набор встроеных средств для отладки, которые дополняются. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru