Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 13.11.2013
Сообщений: 56
1

Обработка курсора и позиции мыши в отдельном потоке

30.03.2015, 10:36. Показов 837. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Пытаюсь сделать что-то похожее на панель инструментов в Visual Studio. Для обозначения каждого элемента использую отдельный лейбл:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private Label CreateLabel(string name, string situationLevel, Image img, string text, Point location)
        {
            Label result = new Label
            {
                AutoSize = false,
                Location = location,
                Name = string.Format("{0}.{1}", situationLevel, name),
                Size = new Size(this.objectsTab.Width - 3, 20),
                TabIndex = 0,
                Text = string.Format("        {0}", text),
                Image = img,
                ImageAlign = ContentAlignment.MiddleLeft
            };
            result.MouseDown += result_MouseDown;
            result.MouseUp += result_MouseUp;
 
            return result;
        }
Мне необходимо реализовать "перетаскивание" компонента на мой picturebox, где будет происходить отрисовка. При срабатывании события лейбла MouseDown нужно отслеживать положение мыши и менять курсор в соответсвии с тем, находится ли мышь внутри picturebox или снаружи.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void result_MouseDown(object sender, MouseEventArgs e)
        {
            Label senderLabel = (Label) sender;
            senderLabel.DoDragDrop(senderLabel, DragDropEffects.Move);
            Thread t = new Thread(ChangeCursor);
            t.Start();
        }
 
private void ChangeCursor()
        {
            if (MouseInCanvas(MousePosition))
            {
                Cursor = Cursors.UpArrow;
            }
        }
Я понимаю, что делается это в отдельном потоке, но мой опыт работы с ними весьма мал. Результатов работы этого кода нет.
Как мне лучше всего реализовать такой функционал?

Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2015, 10:36
Ответы с готовыми решениями:

Обработка CheckBox в отдельном потоке
Всем привет, подскажите пожалуйста, у меня есть n-ое количество checkbox-ов как мне обработать их...

Обработка события COM в отдельном потоке
Всем привет! Создал обертку COM сервера стандартными функциями Delphi. На выходе получил класс...

Изменение позиции курсора мыши
В своём приложении использую Swing. И для перемещения курсора мыши использую Robot из java.awt....

SDL: определение позиции курсора мыши
Товарищи, как в SDL определить позицию курсора мыши? Прочитал на вики, что есть ф-я...

0
30.03.2015, 10:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2015, 10:36
Помогаю со студенческими работами здесь

Прокрутка в Стринггрид по позиции курсора мыши
Привет! Как сделать чтоб стрингрид смещался на одну ячейку при подводе курсора к краю грида (при...

Обработка текста в RichTextBox. Сохранение позиции курсора после форматирования
ситуация такая: на форме есть контрол RichTextBox, в нем редактируется текст. в событии...

Создать приложение, в отдельном потоке вычисляющее значение w и непрерывно обновляющее его в потоке
Ребят, с потоками не работал не когда. Есть задание , я понимаю что хотят, а вот как сделать...

GDI+. Почему в отдельном потоке картинки сохраняются как белые прямоугольники, а в основном потоке - всё Ок?
Всем привет, делаю функцию уменьшения картинок при помощи библиотеки GDI+, в отдельном потоке...

В рабочей части окна при движении мыши с нажатой левой клавишей мыши рисовать траекторию движения курсора мыши
В рабочей части окна при движении мыши с нажатой левой клавишей мыши рисовать траекторию движения...

Как изменить цвет курсора ввода и курсора мыши в элементе Edit
Всем Здравия. Проблема в следующем, задал цвет фона и цвет текста в Edit, тут все нормально, но...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru