В C # Winforms есть способ поставить пунктирную границу вокруг всех элементов управления и показать точки захвата при выборе конкретных элементов управления во время выполнения?
Я работаю в команде, работающей над IDE, похожей на Visual Studio, для разработки собственного кода Winform для наших локальных клиентов. В нашем коде пользовательские элементы управления переопределены, чтобы упростить наши задачи, но большинство наших элементов управления основаны на базовых элементах управления C # Winform.
В настоящее время мне нужна помощь в реализации пунктирной границы вокруг всех наших элементов управления с типом точек захвата, предоставляемых Visual Studio.
Не выбранные элементы управления
Выбранные элементы управления
Эта функция очень востребована, поскольку может помочь в выравнивании без компенсации на визуальных указаниях.
В настоящее время мы внедрили темную рамку вокруг всех элементов управления, используя
this.BackColor = Color.Black;
this.Height = ComboBox.Height + 4;
Который помещает черную рамку вокруг сгенерированных элементов управления, который в приведенном выше фрагменте кода является ComboBox.
Один участник указал нам на использование полей и отступов, как показано в документации Microsoft:https://msdn.microsoft.com/library/3z3f9e8b(v=vs.110)
Но это в основном теория и, похоже, не очень помогает. самая близкая вещь, которая прибыла, чтобы решить эту проблему, была онлайнСсылка CodeProject:
public class MyGroupBox : GroupBox
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
ControlPaint.DrawBorder(e.Graphics, ClientRectangle,
Color.Black, BORDER_SIZE, ButtonBorderStyle.Inset,
Color.Black, BORDER_SIZE, ButtonBorderStyle.Inset,
Color.Black, BORDER_SIZE, ButtonBorderStyle.Inset,
Color.Black, BORDER_SIZE, ButtonBorderStyle.Inset);
}
}
Я удивлен, что пока не нашел близкого совпадения с моим поиском, возможно, я использую неправильную терминологию, так как недавно начал заниматься программированием в этой области.
Я верю, что будущие онлайн-поиски будут полезны, если эта проблема будет решена. Ждем указателей от тех, кто имеет опыт в этой проблеме. Очень ценю любую помощь в этом направлении.