![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Хочу сделать рамку своей формы такой какой захочу, но не стандартную
Поискал на codeproject , но то что там нашёл не хочет работать у меня. Объясните пожалуйста как создавать собственные рамки? |
|||
|
||||
| juravel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 18.12.2006 Репутация: нет Всего: нет |
||||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 3 Всего: 8 |
Могу посоветовать (сам делал) берешь значить делаешь ф-ций для формы. Она автоматом ставит FormBorder = None, далее создаешь одну панель размером (Height = 16,24,32 - по вкусу) и Dock ставишь в Top. К этой панели прикрутиваешь Mouse Event's для перетаскивания всей формы, также добавляешь к этой панели батоны (свернуть, макс\мин, закрыть). Далее создаешь еще одни Panel, с параметрами: X = 4 (все зависит от того, какие линии границ у твоей формы) Y = TopPanel.Height + 2, Width = Form.Width - CtrlPanel.X, Height = Form.Height - CtrlPanel.Y, Anchor во все стороны. Далее все контролы в форме постепенно удаляя с формы, заносишь их в CtrlPanel, посредством цикла (тока рекурсию не надо делать!!!), ну и все.
TopPanel - это первая панель, служащая как место где рисуется иконка, название формы, и кнопки управления формой. CtrlPanel - это вторая панель, служащая местом для контролов находящихся на форме. Границы формы, можно рисовать прямо в Paint, у формы. Конечно еще нужно добавить к той же форме обработку мышки, на некоторые позиции, чтобы можно было изменять размеры. Если же нужно сделать форму необычайном ввиде, то можно использовать Form.TransparentColor = Color...., назначить цвет который исчезнит при запуске формы. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Ето точно то что нужно? DarkDragon, толко так изврашатся? |
|||
|
||||
| juravel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 18.12.2006 Репутация: нет Всего: нет |
||||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Что то я не понимаю как это сюда вообще относится?
|
|||
|
||||
| juravel |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 18.12.2006 Репутация: нет Всего: нет |
Ето точно то что надо |
||||
|
|||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
BorderStyle Enumeration
Там всего TreeView, у которого меняют свойства. Как это мне помогает? Мне нужна рамка окна! |
|||
|
||||
| juravel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 18.12.2006 Репутация: нет Всего: нет |
Упс! Точно! Извиняюсь!
|
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 3 Всего: 8 |
Ну не совсем. Это конечно не совершенный метод, но тем не менее я так делал, и вроде работает нормально. Можно и ваще без панелей обойтись тока на самой форме рисовать (сложнее).
А это нужно использовать если форма нарисована на Bitmap, или еще на чем нибудь. Недостаток - произвольный размер формы нереализуем. Также можешь побегать по http://gotdotnet.ru в разделе Файлы - Примеры, правда точный адрес непомню, но про винды там точно есть. |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
Кстати, можно просто рисовать на форме Bitmap (конечно, FormBorderStyle=None). Я например недавно делал псевдо-Winamp (со скином Modern). Там уже все битмапы есть. И для кнопок: нажатых и отпущенных.
-------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
А если переопределить метод рисования формы? Так как-нибудь можно?
|
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 3 Всего: 8 |
Плюс TransparentColor = Color.Magenta Конечно можно. |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 1 Всего: 15 |
Блин, а через регион обрезал.
-------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
||||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |