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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2011, 23:28   #1
exliska
 
Регистрация: 22.05.2011
Сообщений: 9
Печаль изменение цвета карты

всем привет! стоит следующая задача... имеется карта области, на ней находятся регионы... в зависимости от определенных цифр регионы надо будет раскрашивать разными цветами... подскажите пожалуйста как мне реализовать данную идею?
exliska вне форума Ответить с цитированием
Старый 23.05.2011, 00:37   #2
exliska
 
Регистрация: 22.05.2011
Сообщений: 9
По умолчанию

ПОМОГИТЕ ПЛИЗ))) просто... через что это можно сделать) кинь плиз идею))
exliska вне форума Ответить с цитированием
Старый 23.05.2011, 07:27   #3
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Мм... подписываемся на Paint у формы, например...
Код:
        private struct MapField
        {
            public Rectangle rect;
            public int Index;
        }

        List<MapField> map = new List<MapField>();

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            InitializeMap();
            e.Graphics.DrawRectangles(Pens.Black, map.Select(s => s.rect).ToArray());
            e.Graphics.FillRectangles(Brushes.White, map.Where(s => s.Index >= 0 && s.Index <= 2).Select(s => s.rect).ToArray());
            e.Graphics.FillRectangles(Brushes.Blue, map.Where(s => s.Index >= 3 && s.Index <= 5).Select(s => s.rect).ToArray());
            e.Graphics.FillRectangles(Brushes.Red, map.Where(s => s.Index >= 6 && s.Index <= 8).Select(s => s.rect).ToArray());
        }

        private void InitializeMap()
        {
            if (map.Count == 0)
            {
                int index = 0;
                for (int i = 0; i < 3; i++)
                    for (int j = 0; j < 3; j++)
                        map.Add(new MapField() { rect = new Rectangle(20 * j, 20 * i, 20, 20), Index = index++ });
            }
        }
Spawn™Production® вне форума Ответить с цитированием
Старый 23.05.2011, 10:17   #4
exliska
 
Регистрация: 22.05.2011
Сообщений: 9
По умолчанию

спасибо! попробуем!
exliska вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение цвета XFR Microsoft Office Excel 6 28.11.2010 13:32
изменение цвета MaXoN66613 Помощь студентам 2 02.06.2010 18:56
Изменение цвета пикселя sysl Общие вопросы Delphi 2 07.03.2010 20:36
Изменение цвета girz Общие вопросы Delphi 6 30.05.2009 13:43
Изменение цвета Artem Общие вопросы Delphi 5 12.07.2007 09:07