Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2010, 11:08   #1
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию прямоугольник (закругленные края)

задача такая: нужно нарисовать прямоугольник с закругленными краями. заливка должна быть не однородная (например градиент).
если бы нужно было одного цвета, то я бы собрал такой прямоугольник из кусков.
без проблем это можно нарисовать на wpf, но я до сих пор не понял как код wpf поцепить к проекту форм.
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 14.05.2010, 21:33   #2
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Тоисть вы хотите форму wpf прицепить к винформе?
Cpluser вне форума Ответить с цитированием
Старый 14.05.2010, 23:58   #3
akasex
Форумчанин Подтвердите свой е-майл
 
Аватар для akasex
 
Регистрация: 31.03.2008
Сообщений: 179
По умолчанию

Код:
public static GraphicsPath GetBarShape(RectangleF rect, float cornerRad)
        {
            float rad = cornerRad;
            float x = rect.X;
            float y = rect.Y;
            float width = rect.Width;
            float height = rect.Height;
            GraphicsPath path = new GraphicsPath();
            path.AddBezier(x, y + rad, x, y, x + rad, y, x + rad, y);
            path.AddLine(x + rad, y, (x + width) - rad, y);
            path.AddBezier((x + width) - rad, y, x + width, y, x + width, y + rad, x + width, y + rad);
            path.AddLine((x + width), (y + rad), (x + width), ((y + height) - rad));
            path.AddBezier((x + width), ((y + height) - rad), (x + width), (y + height),
                ((x + width) - rad), (y + height), ((x + width) - rad), (y + height));
            path.AddLine(((x + width) - rad), (y + height), (x + rad), (y + height));
            path.AddBezier(x + rad, y + height, x, y + height, x, (y + height) - rad, x, (y + height) - rad);
            path.AddLine(x, (y + height) - rad, x, y + rad);
            return path;
        }
akasex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#, прямоугольник Goldcoding Фриланс 2 09.04.2010 20:34
Закругленные рамки для таблицы Gumer HTML и CSS 4 02.04.2010 12:23
Фреймы. Отступ таблицы от края фрейма. ROD HTML и CSS 7 07.07.2009 10:20
Как убрать края у картинки Ruska882009 Помощь студентам 1 08.04.2009 14:15