Как такое бы выглядело с использованием своего класса для создания этих самых точек ?
В методе OtrisovkaTochek()
меняется только положение этих самых точек на холсте.
А все остальные свойства ширина, высота, ширина контура, цвет контура, цвет заливки у них одинаковые.
Просто , маленький бы примерчик или учебный материал.
Rectangle leftTopPoint = new Rectangle(); // Создание экземпляра левой верхней точки
Rectangle rightTopPoint = new Rectangle(); // Создание экземпляра правой верхней точки
Rectangle leftBottomPoint = new Rectangle(); // Создание экземпляра левой нижней точки
Rectangle rightBottomPoint = new Rectangle(); // Создание экземпляра правой нижней точки
// Метод отрисовывет точки
private void OtrisovkaTochek()
{
// Левая верхняя точка
leftTopPoint.Width = 7; // Ширина точки
leftTopPoint.Height = 7; // Высота точки
leftTopPoint.Stroke = Brushes.White; // Цвет контура точки
leftTopPoint.Fill = Brushes.Black; // Цвет заливки точки
leftTopPoint.StrokeThickness = 1; // Толщина контура точки
Canvas.SetLeft(leftTopPoint, x1 - 3); // Положение точки по оси X
Canvas.SetTop(leftTopPoint, y1 - 3); // Положение точки по оси Y
// Правая верхняя точка
rightTopPoint.Width = 7; // Ширина точки
rightTopPoint.Height = 7; // Высота точки
rightTopPoint.Stroke = Brushes.White; // Цвет контура точки
rightTopPoint.Fill = Brushes.Black; // Цвет заливки точки
rightTopPoint.StrokeThickness = 1; // Толщина контура точки
Canvas.SetLeft(rightTopPoint, x2 - 4); // Положение точки по оси X
Canvas.SetTop(rightTopPoint, y2 - 3); // Положение точки по оси Y
// Левая нижняя точка
leftBottomPoint.Width = 7; // Ширина точки
leftBottomPoint.Height = 7; // Высота точки
leftBottomPoint.Stroke = Brushes.White; // Цвет контура точки
leftBottomPoint.Fill = Brushes.Black; // Цвет заливки точки
leftBottomPoint.StrokeThickness = 1; // Толщина контура точки
Canvas.SetLeft(leftBottomPoint, x3 - 3); // Положение точки по оси X
Canvas.SetTop(leftBottomPoint, y3 - 4); // Положение точки по оси Y
// Правая нижняя точка
rightBottomPoint.Width = 7; // Ширина точки
rightBottomPoint.Height = 7; // Высота точки
rightBottomPoint.Stroke = Brushes.White; // Цвет контура точки
rightBottomPoint.Fill = Brushes.Black; // Цвет заливки точки
rightBottomPoint.StrokeThickness = 1; // Толщина контура точки
Canvas.SetLeft(rightBottomPoint, x4 - 4); // Положение точки по оси X
Canvas.SetTop(rightBottomPoint, y4 - 4); // Положение точки по оси Y
}
Для этого не надо писать класс, достаточно написать метод. Такой рефакторинг называется Extract Method, используется для группировки функционала в одном методе, ну, или, как в данном случае, помещения повторяющегося кода в метод.
Rectangle leftTopPoint = new Rectangle(); // Создание экземпляра левой верхней точки
Rectangle rightTopPoint = new Rectangle(); // Создание экземпляра правой верхней точки
Rectangle leftBottomPoint = new Rectangle(); // Создание экземпляра левой нижней точки
Rectangle rightBottomPoint = new Rectangle(); // Создание экземпляра правой нижней точки
// Метод отрисовывет точки
private void OtrisovkaTochek()
{
// Левая верхняя точка
SetupRect(leftTopPoint, x1 - 3, y1 - 3);
// Правая верхняя точка
SetupRect(rightTopPoint, x2 - 4, y2 - 3);
// Левая нижняя точка
SetupRect(leftBottomPoint, x3 - 3, y3 - 4);
// Правая нижняя точка
SetupRect(rightBottomPoint, x4 - 4, y4 - 4);
}
private void SetupRect(Rectangle target, double left, double top)
{
target.Width = 7; // Ширина точки
target.Height = 7; // Высота точки
target.Stroke = Brushes.White; // Цвет контура точки
target.Fill = Brushes.Black; // Цвет заливки точки
target.StrokeThickness = 1; // Толщина контура точки
Canvas.SetLeft(target, left); // Положение точки по оси X
Canvas.SetTop(target, top); // Положение точки по оси Y
}
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Прочитал, что для того, чтобы использовать выражение #if RELEASE нужно в настройках проекта установить в режиме релиза значение RELEASE в textbox Conditional...