powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C#.От чего мне нужно унаследовать класс, чтобы его поведение было как всплывающего у меню?
3 сообщений из 3, страница 1 из 1
C#.От чего мне нужно унаследовать класс, чтобы его поведение было как всплывающего у меню?
    #38395539
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жму по форме на правую клавишу мыши. Могу отобразить меню (обычное). Но я хочу, чтобы у меня отобразилось мною спроектированное маленькое окошко.
Его особенность:
Появляется в положении курсора,

при щелчке вне этого окна оно исчезает

строки заголовка (крест и пр. ) отсутствуют.

Форму, которая так должна отображаться, я уже нарисовал в WinForms.
...
Рейтинг: 0 / 0
C#.От чего мне нужно унаследовать класс, чтобы его поведение было как всплывающего у меню?
    #38395587
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем проблема?

1. В обаботчике нажатия кнопки мыши для формы заложить показ формы (изменив ее Location по координатам в MouseEventsArgs). Если форма показана, то прятать.
2. Установить для нее визуальные свойства без заголовков.
...
Рейтинг: 0 / 0
C#.От чего мне нужно унаследовать класс, чтобы его поведение было как всплывающего у меню?
    #38395621
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь нормальное решение, по-людски:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    public partial class Form1 : Form
    {
        ToolStripDropDown ddown;
        Popup popup;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Click(object sender, EventArgs e)
        {
            ddown = new ToolStripDropDown();
            popup = new Popup();
            ToolStripControlHost dhost = new ToolStripControlHost(popup);
            dhost.AutoSize = false;
            ddown.Items.Add(dhost);
            ddown.Region = popup.Region;
            ddown.Visible = true;
        }
    }


здесь popup имеет тип UserControl, на котором может находиться что угодно.
Возможно, стоит сделать проверку на
Код: c#
1.
if (mPopup==null)


и весь этот код запихать в класс popup
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C#.От чего мне нужно унаследовать класс, чтобы его поведение было как всплывающего у меню?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]