1 | |
Группирование control-ов на форме15.08.2012, 12:14. Показов 1497. Ответов 10
Метки нет (Все метки)
И снова добрый день.
Сделал программу - заказчику не нравятся разделители групп control'ов на форме. Прилагаю два изображения. Слева - мой вариант. Я писал на Visual C# 2010 Express и для группировки использовал GroupBox. Справа - вариант, который хочет заказчик. Насколько я знаю, это написано на Delphi с использованием TPanel. Подскажите, как наименьшей кровью добиться такого вида, как справа, в VC#. Спасибо.
0
|
15.08.2012, 12:14 | |
Ответы с готовыми решениями:
10
Не могу найти control на большой форме Определить если Control полностью отрисован на форме Какая разница между Web server control, Composite control и User Control Создание control-ов на форме другой БД в vba |
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
15.08.2012, 12:24 | 2 |
Он хочет чтоб были разделители или стиль похожий,тут ведь тоже есть панельки и стиль сменить можно на fixed3d(похож по-моему)
Если с разделителями то splitterPanel а потом еще один split используя Dock.Left и vertical для сплита Добавлено через 1 минуту Не по теме: Мне лично твой вариант больше нравится и кажется практичнее
0
|
15.08.2012, 17:28 [ТС] | 3 |
Да. Смотрел Fixed3D - врядли устроит заказчика. SplitterContainer тоже поддерживает BorderStyle только None, FixedSingle и Fixed3D. Это не годится. Control'а SplitterPanel не нашел.
Есть TableLayoutPanel. У нее есть CellBorderStyle - Inset - как раз то, что нужно. Но она позволяет рисовать только такую, как слева, то есть m строк на n столбцов. А мне нужна такая, как справа. Мне таки удалось добиться вида, который требовался. Я взял один TableLayoutPanel: 2 столбца и 2 строки - и другой TableLayoutPanel: 1 столбец и одна строка. Вторым TableLayoutPanel перекрыл нижнюю строку первого TableLayoutPanel. Это конечно крашеный кубик Рубика. Буду признателен, если поделитесь, как это можно сделать технически красиво.
0
|
17 / 17 / 2
Регистрация: 19.12.2008
Сообщений: 89
|
|
15.08.2012, 17:40 | 4 |
А можно немного конкретнее чего хочет заказчик, а то из скрина не особо ясно...?
0
|
101 / 101 / 15
Регистрация: 23.05.2012
Сообщений: 260
|
|
15.08.2012, 17:48 | 5 |
Все верно. TableLayoutPanel для этого и придуман.
Единственно что по логике 1-ый TableLayoutPanel содержит 2 строки 2-ой TableLayoutPanel в первой строке
0
|
101 / 101 / 15
Регистрация: 23.05.2012
Сообщений: 260
|
|
15.08.2012, 17:49 | 6 |
Все верно. TableLayoutPanel для этого и придуман.
Единственно что по логике 1-ый TableLayoutPanel содержит 2 строки 2-ой TableLayoutPanel в первой строке
0
|
17 / 17 / 2
Регистрация: 19.12.2008
Сообщений: 89
|
|
15.08.2012, 18:03 | 7 |
TableLayoutPanel1:
- Dock = Top - CellBorderStyle = Inset - Colums = 2 штуки : 1й - Absolute(...), 2й - Percent(...) - Rows = 1 штукa : Percent(100%) TableLayoutPanel2: - Dock = Fill - CellBorderStyle = None - Colums = 1 штука : Percent(100%) - Rows = 1 штукa : Percent(100%)
0
|
16.08.2012, 17:48 [ТС] | 8 | ||||||||||
Немного поменял layout, но смысл тот же. Почти добился результата.
Делаю
Поставил у panel1 свойства Margin и Padding в 0; 0; 0; 0, и все равно Location получается 2; 2, даже если править руками на 0; 0 хоть во вкладке Properties, хоть
0
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,273
|
|
16.08.2012, 22:31 | 9 |
GoldenId,
"Поиграй" со splitContainer Вот простенький пример. Кинь на форму один splitContainer в стык другому Между панелями будет сплиттер.Три пунктирные полоски. Кликни по средней, и можно будет менять панель с вертикальной на горизонтальную
0
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
|
17.08.2012, 07:33 | 10 |
0
|
17.08.2012, 14:50 [ТС] | 11 |
Евгений В, да, все так, но к сожалению BorderStyle только None, Fixed Single и Fixed 3D. Варианта Inset нет.
Green, да, читал эту страницу. Так эту форму и делал. Остаются те зазоры, которые я обводил кружочками.
0
|
17.08.2012, 14:50 | |
17.08.2012, 14:50 | |
Помогаю со студенческими работами здесь
11
Как вывести номера Control-ов на форме для более удобного контроля Add.Control. Как и где можно проставить индекс вновь созданного на форме объекта? Группирование Группирование и сумма Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |