![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| xXxSataNxXx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.12.2009 Репутация: 1 Всего: 1 |
Как можно сделать углы формы округлыми без применения фоновой картинки?
Форма без бордюра. Стандарт получается прямоугольный, а реально ли углы закруглить? |
|||
|
||||
| Pilger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Ну можно попробовать залить края каким либо цветом и у свойства формы TransparencyKey установить на этот цвет.
-------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
| xXxSataNxXx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.12.2009 Репутация: 1 Всего: 1 |
Ты не понял вопроса...
Мне надо конкретно углы сделать округлыми, а то что транспарентом сделать, то надо сначала задать область, которую залить этим цветом... В WPF можно просто добавить Border со свойством CornerRadius и указать радиус какой нужен, но WPF не подходит, так как нет большого количества компонентов... Это сообщение отредактировал(а) xXxSataNxXx - 15.2.2010, 21:38 |
|||
|
||||
| Pilger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Ну WPF намного круче инструментарий имеет в этом плане. Таких обширных возможностей тут нет. Вообще TransparencyKey насколько я знаю как раз для подобных случаев сделан. До этого приходилось всё это вручную делать. Как по другому реализовать я не знаю. Подождем специалистов.
-------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
При помощи свойства Region можно задать любую форму контролу(форма - тоже контрол).
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| xXxSataNxXx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.12.2009 Репутация: 1 Всего: 1 |
А можно по подробней?
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
А что не понятно? Задав этому свойству в качестве значения область нужной тебе формы, ты и получишь в результате нужную тебе форму контрола. Хотя если честно, то в подобном случае я скорей всего выбрал бы вариант, предложенный Pilger. Всё-таки форма меняет размер и всё такое и каждый раз при любом изменении заморачиваться на этом свойстве - гемор. Но так, для информации...
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| xXxSataNxXx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.12.2009 Репутация: 1 Всего: 1 |
Спасибо за инфу...=0)
Это сообщение отредактировал(а) xXxSataNxXx - 18.2.2010, 23:35 |
|||
|
||||
| xXxSataNxXx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.12.2009 Репутация: 1 Всего: 1 |
Блин, с помощью GraphicsPath и Region нарисовал я форму нужной мне формы, но не могу теперь понять, как можно сгладить эти углы... =0(
Рисовал фигурами Pie, но они не гладкие... Рисуются так, как будто графика в отстое, мелкими квадратиками... Кто может подсказать, как это можно сгладить? Как сгладить картинку, типо g.InterpolationMode = InterpolationMode.HighQualityBicubic я знаю... Подскажите, реально ли это сделать с GraphicsPath? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
xXxSataNxXx, всё зависит о того, какой способ ты выбрал. Я бы просто закрашивал уголки тем же цветом, что и TransparencyKey. То есть тебе просто надо состряпать фигурку, состоящую из дуги окружности и двух линий(скругленный уголок) и этой фигуркой заливать уголки формы в методе OnPaintBackground. Или как-нибудь так, но всякое сглаживание прочие прибамбасы - это имхо лишнее.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| xXxSataNxXx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.12.2009 Репутация: 1 Всего: 1 |
Фигура Pie - часть круга, в принципе она должна быть с гладкой поверхностью...
А если делать по твоему совету, то получается на много больше фигур, а точнее количество_углов*3, а сейчас я использую лишь количество углов... У меня не только форма с круглыми углами, у меня ещё и контролы не стандартных форм... |
|||
|
||||
| xXxSataNxXx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.12.2009 Репутация: 1 Всего: 1 |
Попробовал я сделать как ты и говорил, 2 линии и сектор... Но сектор всё равно не гладкий...=0(
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
А ты использовал свойство System.Drawing.Graphics.SmoothingMode ?
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| xXxSataNxXx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.12.2009 Репутация: 1 Всего: 1 |
Хех, спасибо за SmoothingMode, я про такое не знал, я думал это делается через InterpolationMode... =0)
|
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |