Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > [VC#] Передача активности другому компоненту


Автор: MuForum 27.8.2008, 18:51
Доброе время суток!
- Пишу проект на MVS2008.
- На форуме два компонента: TreeView и PictureBox, необходимо при нажатие средней кнопки мыши передать активность 'PictureBox', чтобы отслеживать работу с прокруткой колесика.

Тобиж:
Код

        private void FMain_Load(object sender, EventArgs e)
        {
            this.MouseWheel += new MouseEventHandler(FMain_MouseWheel);
        }
......
        private void FMain_MouseWheel(object sender, MouseEventArgs e)
        {
            MessageBox.Show(this, "FMain_MouseWheel()", "[Message]");
        }

- То есть при прокрутке колесика должно выводится сообщение.
- Пытался передавать фокус и т.д., но не помогает:
Код

pb_main.Focus();
pb_main.Select();


# Вопрос: Как программно передать активность компоненту PictureBox?

Автор: nagg 27.8.2008, 19:03
У формы вроде специальное свойство есть... 

Автор: MuForum 27.8.2008, 22:06
Цитата(nagg @ 27.8.2008,  19:03)
У формы вроде специальное свойство есть...

Честно говоря мне это мало что сказало, можно было и более подробно написать!

Автор: nagg 27.8.2008, 22:24
Забыл просто, но думаю это должно было тебя наталкнуть на просмотр свойств формы и найти такое: ActiveControl

Автор: MuForum 27.8.2008, 22:35
Цитата(nagg @ 27.8.2008,  22:24)

Забыл просто, но думаю это должно было тебя наталкнуть на просмотр свойств формы и найти такое: ActiveControl

Частично помогло, компонент вроде как становится активным, но прокрутка всё равно остаётся активной у компонента TreeView.
Код

this.ActiveControl = pb_main;

Автор: pr0fess0r 27.8.2008, 23:19
а ты в обработчик нажатия маус_3 или прокрутки скрола попадаешь?

Автор: 1stain 28.8.2008, 13:17
что-то я не пойму: тебе надо отслеживать прокрутку колеса мыши на форме или в PictureBox?
если в PictureBox, то почему привязываешься к  MouseWheel формы?

Цитата(MuForum @  27.8.2008,  18:51 Найти цитируемый пост)

       this.MouseWheel += new MouseEventHandler(FMain_MouseWheel);


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)