У меня есть 2 групповых блока, которые я хотел бы настроить немного больше, и я не хочу прибегать к панели с меткой (это означало бы, что у меня должен быть одинаковый цвет фона для панели и родительского элемента).контролировать, если бы я хотел, чтобы граница, так как метка должна иметь цвет, установленный, чтобы скрыть границу позади текста).
Мне удалось изменить цвет границы, захватив событие рисования и используя следующеекод:
Graphics gfx = e.Graphics;
Pen p = new Pen(Color.FromArgb(86, 136, 186), 3);
GroupBox gb = (GroupBox)sender;
Rectangle r = new Rectangle(0, 0, gb.Width, gb.Height);
gfx.DrawLine(p, 0, 5, 0, r.Height - 2);
gfx.DrawLine(p, 0, 5, 10, 5);
gfx.DrawLine(p, 62, 5, r.Width - 2, 5);
gfx.DrawLine(p, r.Width - 2, 5, r.Width - 2, r.Height - 2);
gfx.DrawLine(p, r.Width - 2, r.Height - 2, 0, r.Height - 2);
Моя проблема в том, что, например, если заголовок слишком длинный, он перекрывает границу.Так как он перекрывает левую границу сверху - это легко решить, отрегулировав 2-ю строку DrawLine
.Однако я хотел бы определить размеры текста по ширине и x, чтобы правильно расположить границы.
Кто-нибудь знает, как это сделать?Я некоторое время заглядывал в гугл но ничего не выскакивает на меня.Я знаю, что заголовок установлен через GroupBox.Text
.
Пожалуйста, также скажите, есть ли какие-либо другие измерения, которые мне могут понадобиться, исходя из того, что я тоже изменяю толщину границы, чтобы это выглядело странно, если шрифт былкрошечный, но граница составляла 10 пикселей, начиная с половины ...
Заранее спасибо.
С уважением,
Ричард