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

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

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

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

1. В обаботчике нажатия кнопки мыши для формы заложить показ формы (изменив ее Location по координатам в MouseEventsArgs). Если форма показана, то прятать.
2. Установить для нее визуальные свойства без заголовков.
...
Рейтинг: 0 / 0
13.09.2013, 10:52
    #38395621
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.От чего мне нужно унаследовать класс, чтобы его поведение было как всплывающего у меню?
А теперь нормальное решение, по-людски:
Код: 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
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C#.От чего мне нужно унаследовать класс, чтобы его поведение было как всплывающего у меню? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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