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

Перемещение, удаление графических объектов

05.11.2014, 22:20. Показов 2485. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа, доброго времени суток. У меня есть такой ряд вопросов к вам :
1) Как создать линию, которую можно будет с помощью мыши перемещать по форме, если можно, то также и фокусироваться на ней?
2) Как при помощи данной линии "связать" 2 объекта (вершины графа), т. е. при перемещении вершины, линии тянуться за ней?
3) Как отследить клик мыши по этой линии?
4) Почему позиция мыши отслеживается неточно?

Заранее благодарен вам за ответ, проект прилогаю.

С уважением, Илья Федосов.
Вложения
Тип файла: rar Перетаскивание_картинки.rar (78.0 Кб, 10 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2014, 22:20
Ответы с готовыми решениями:

Масштабирование графических объектов
Помогите реализовать масштабирование некого геометрического объекта на С# под VS2008. 1. Объект...

Перемещение объектов в списке
Всем привет, возник такой вопрос: как можно переместить выделенный элемент в списке? Например вверх...

Перемещение объектов по picturebox
Привет, подскажите пожалуйста как можно это сделать. У меня есть поле picturebox и есть массив...

Перемещение объектов - подлагиваем
Приветствую, такая проблема: Рядом с курсором мыши создается label и следует за курсором следом....

9
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
06.11.2014, 18:05 2
Тебе нужно отказаться от рисованых объектов и всё это делать своими контролами на форме. Линия — контрол, вершина графа — тоже контрол. Задачка на хорошую курсовую
0
2 / 2 / 0
Регистрация: 05.11.2014
Сообщений: 15
06.11.2014, 18:21  [ТС] 3
Вот. Я также создал UserControl c Label, который отобразит имя Controla (для визуализации вершины). Вот только как сделать контрол линии я совсем не могу понять. Может подскажете?
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
06.11.2014, 18:53 4
Примерно так:
C#
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
26
27
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
 
namespace GraphControlsLib {
 
    public partial class LineControl : UserControl {
        [DefaultValue(2.0f)]
        [Category("Appearance")]
        public float Thickness { get { return this.Height; } set { this.Height = (int)value; } }
        [DefaultValue(45.0f)]
        [Category("Appearance")]
        public float Length { get { return this.Width; } set { this.Width = (int)value; } }
        public SolidBrush Brush;
        public LineControl() {
            InitializeComponent();
            Brush = new SolidBrush(Color.Blue);
            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            SetStyle(ControlStyles.FixedHeight, true);
        }
 
        protected override void OnPaintBackground(PaintEventArgs e) {
            e.Graphics.FillRectangle(Brush, e.ClipRectangle);
        }
    }
}
1
2 / 2 / 0
Регистрация: 05.11.2014
Сообщений: 15
07.11.2014, 07:42  [ТС] 5
Огромнейшее спасибо за ответ.

Я так понимаю, что нужно создать класс с этим кодом и наследовать его от UserControl? Кстати, для чего пишется текст в []?
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
07.11.2014, 07:44 6
Цитата Сообщение от Elies Посмотреть сообщение
для чего пишется текст в []
Атрибуты. Например, значение по умолчанию, событие по умолчанию, свойство по умолчанию (для класса) и много чего другого.
0
2 / 2 / 0
Регистрация: 05.11.2014
Сообщений: 15
07.11.2014, 08:05  [ТС] 7
Спасибо, я понял, нужно создать свой UserControl. А подскажите, вот я создал проект и использовал в нём UserСontrol в качестве вершины. Подскажите, где я ошибся с перетаскиванием. При данном процессе перетаскиваемый объект раздваивается.
Вложения
Тип файла: rar WindowsFormsApplication7.rar (50.4 Кб, 38 просмотров)
0
2 / 2 / 0
Регистрация: 05.11.2014
Сообщений: 15
08.11.2014, 18:26  [ТС] 8
Ну так что, подскажет кто с перемещением?
0
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
08.11.2014, 18:53 9
изменять координаты Location
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
08.11.2014, 19:54 10
Metall_Version, Elies так и делает. Я смотрел его пример. Сам не пойму почему не получается
0
08.11.2014, 19:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2014, 19:54
Помогаю со студенческими работами здесь

Перемещение динамически созданных объектов
Здравствуйте, нужно очень помощь с проблемкой... Созданна форма, на ней PictureBox1 как...

Перемещение мышкой нарисованных объектов
Помогите мне пожалуйста. Мне нужно чтобы нарисованный в программе прямоугольник можно былобы...

Перемещение объектов OvalShape по форме мышкой
Подскажите как это реализовать, пожалуйста!

Редактирование объектов GDI+ (Перемещение, растягивание)
Доброго времени суток! Возникла проблема при написании графического редактора. Необходимо...


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

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