Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Заблокирован
1

Зафиксировать курсор в центре пересечения линий

11.08.2012, 22:15. Показов 1934. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет) Вот такая проблема. Кто знает программу FastStone Capture тот видел, при скрине выделенной области есть две линии, которые передвигаются за курсором.
Мне нужно создать такую же. Добавил два объекта LineShape. И написал такой код :
VB.NET
1
2
3
4
5
6
7
8
9
Dim a, b As Integer
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        a = MousePosition.X - Location.X
        b = MousePosition.Y - Location.Y
        LineShape1.Y1 = b
        LineShape1.Y2 = b
        LineShape2.X1 = a
        LineShape2.X2 = a
    End Sub
Все работает хорошо, только курсор выше этих линий. Возможно ли сделать, чтоб курсор был в середине пересечений этих линий, как в программе FastStone Capture.
Если вы меня не поняли то поглядите вложенный архив в котором сам экзешник , может тогда более поймете что я хочу сделать.
Прятать курсор не вариант.
Миниатюры
Зафиксировать курсор в центре пересечения линий  
Вложения
Тип файла: rar WindowsApplication2.rar (7.5 Кб, 14 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2012, 22:15
Ответы с готовыми решениями:

Нахождение пересечения линий
Здравствуйте! Дано изображение с белым фоном и черными пересекающимися линиями. Надо найти...

Составьте программу, демонстрирующую построение в центре экрана квадрата из линий
Составьте программу, демонстрирующую построение в центре экрана квадрата из линий. Первоначально...

Получить координаты пересечения 2х линий.
Здравствуйте, рисую синусоиду и делаю дискретизацию, но не знаю как получить координаты...

Точка пересечения двух линий в 3D
Есть две линии в 3D, каждая из которых задана двумя точками L1 = p1(x1,y1,z1), p2(x2,y2,z2); L2 =...

10
1484 / 579 / 106
Регистрация: 26.03.2012
Сообщений: 1,028
11.08.2012, 22:36 2
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    Dim a, b As Integer
 
    Private Sub Form1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        a = e.X
        b = e.Y
        LineShape1.Y1 = b
        LineShape1.Y2 = b
        LineShape2.X1 = a
        LineShape2.X2 = a
    End Sub
 
    Private Sub Form1_SizeChanged(sender As Object, e As System.EventArgs) Handles Me.SizeChanged
        LineShape1.X1 = 0
        LineShape1.X2 = Me.Width
        LineShape2.Y1 = 0
        LineShape2.Y2 = Me.Height
    End Sub
 
    Private Sub LineShape1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles LineShape1.MouseMove
        Call Form1_MouseMove(sender, e)
    End Sub
 
    Private Sub LineShape2_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles LineShape2.MouseMove
        Call Form1_MouseMove(sender, e)
    End Sub
1
Заблокирован
11.08.2012, 22:46  [ТС] 3
Мало что изменилось. Курсор выше LineShape1. С LineShape2 он двигается вместе
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
11.08.2012, 22:58 4
Release, хочешь сделать наподобие что-то наподобие прицела?
0
1484 / 579 / 106
Регистрация: 26.03.2012
Сообщений: 1,028
11.08.2012, 23:14 5
Цитата Сообщение от Release Посмотреть сообщение
Мало что изменилось. Курсор выше LineShape1. С LineShape2 он двигается вместе
Посмотри внимательней код, линии пересекаются точно под курсором, только слегка запаздывают при движении.
PS. Линии мерцают из-за видеозахвата.
Вложения
Тип файла: zip bandicam 2012-08-11 23-09-35-779.zip (261.0 Кб, 17 просмотров)
0
Заблокирован
11.08.2012, 23:38  [ТС] 6
Eugene22, Ну да) Похоже, но не прицел.

Добавлено через 13 минут
PAnT0P, почему то не получается воспроизвести твое видео.

Добавлено через 5 минут
Погляди мое видео как у меня получается
0
1484 / 579 / 106
Регистрация: 26.03.2012
Сообщений: 1,028
12.08.2012, 00:52 7
Посмотри мою форму
Вложения
Тип файла: zip Form1.zip (1.7 Кб, 18 просмотров)
1
Заблокирован
12.08.2012, 01:12  [ТС] 8
Вооо) Спасибо большое!
0
4 / 4 / 0
Регистрация: 13.06.2012
Сообщений: 31
12.08.2012, 03:15 9
Таймер установлен на 20 мс
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LineShape1.X1 = 0 : LineShape1.Y1 = 0 : LineShape1.X2 = 0 : LineShape1.Y2 = Me.Height
        LineShape2.X1 = 0 : LineShape2.Y1 = 0 : LineShape2.X2 = Me.Width : LineShape2.Y2 = 0
        Timer1.Enabled = True
    End Sub
    Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
        LineShape1.Y2 = Me.Height : LineShape2.X2 = Me.Width 
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        LineShape1.X1 = Form1.MousePosition.X - Me.Left - 8 : LineShape1.X2 = LineShape1.X1
        LineShape2.Y1 = Form1.MousePosition.Y - Me.Top - 28 : LineShape2.Y2 = LineShape2.Y1
    End Sub
End Class
Значения (-8) , (-28) уже сам подрегулируешь
VB.NET
1
2
LineShape1.X1 = Form1.MousePosition.X - Me.Left - 8 : LineShape1.X2 = LineShape1.X1
LineShape2.Y1 = Form1.MousePosition.Y - Me.Top - 28 : LineShape2.Y2 = LineShape2.Y1
0
Заблокирован
13.08.2012, 16:26  [ТС] 10
PAnT0P, При быстро движении мышки получается не большое притормаживание. Возможно ли это исправить?
0
1484 / 579 / 106
Регистрация: 26.03.2012
Сообщений: 1,028
13.08.2012, 18:58 11
Ловкость рук и ни какого мошейничества
Вложения
Тип файла: zip Form1.zip (1.9 Кб, 25 просмотров)
0
13.08.2012, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.08.2012, 18:58
Помогаю со студенческими работами здесь

Найти точку пересечения линий
Необходимо нарисовать точку строго на пересечении линий. Я сделал так,что бы точка приблизительно...

Нахождение точек пересечения линий на графике
Добрый день! Необходима помощь в нахождении точного значения точек пересечения линий на графике....

Точка пересечения двух линий в пространстве (3D)
Здравствуйте. Есть задание: найти точку пересечения двух линий в пространстве(3D). К примеру:...

Файл с координатами линий - найти пересечения
Помогите пожалуйста! Есть файл координат вершин ломанной линии на плоскости. Проверить имеет ли...


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

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