Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как получить список цветов из Color 
:(
    Опции темы
Certain
Дата 14.10.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: 3
Всего: 4



Из KnownColor вытаскивал, но там абсолютно все цвета (и простые, и системные, и  вэб), получилось вытащить все цвета кроме системных... А мне нужны простые (Custom), вобщем весь список цветов, который содержится в Color! Как это сделать?  smile 

Это сообщение отредактировал(а) Certain - 14.10.2008, 13:24
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
Partizan
Дата 14.10.2008, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Certain, что мешает пробежаться по всему enum-у и получить .ToString() каждого цвета?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Certain
Дата 14.10.2008, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: 3
Всего: 4



ничего!  smile Я же объясняю, KnownColor содержит все цвета, мне нужны только custom! Color это struct, а не enum! Если бы было все так легко...

Это сообщение отредактировал(а) Certain - 14.10.2008, 15:22
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
QryStaL
Дата 14.10.2008, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 3
Всего: 32



Объясните, что такое custom цвета? 7 цветов радуги что ли?


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
Certain
Дата 14.10.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: 3
Всего: 4



Например, зайдите в properties формы, свойство BackColor (да любое свойство цвета у контрола).... 3 закладки (custom, web,system)!

Код

string[] colors = Enum.GetNames(typeof(KnownColor));
            foreach (string color in colors)
            {
                if (((Color.FromName(color)).IsSystemColor == false) && ((Color.FromName(color)).Name != Color.Transparent.Name))
                {
                    tsColorFonts.Items.Add(color);
                }
            }


Это сообщение отредактировал(а) Certain - 14.10.2008, 15:49
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
informatik
Дата 14.10.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 2
Всего: 6



Вот тебе весь список этих 48 колоров:

Код

int[] cols = new int[] 
{ 
0xffffff, 0xc0c0ff, 0xc0e0ff, 0xc0ffff, 0xc0ffc0, 0xffffc0, 0xffc0c0, 0xffc0ff, 0xe0e0e0, 0x8080ff, 0x80c0ff, 0x80ffff, 0x80ff80,
0xffff80, 0xff8080, 0xff80ff, 0xc0c0c0, 0xff, 0x80ff, 0xffff, 0xff00, 0xffff00, 0xff0000, 0xff00ff, 0x808080, 0xc0, 0x40c0, 0xc0c0,
0xc000, 0xc0c000, 0xc00000, 0xc000c0, 0x404040, 0x80, 0x4080, 0x8080, 0x8000, 0x808000, 0x800000, 0x800080, 0,
0x40, 0x404080, 0x4040, 0x4000, 0x404000, 0x400000, 0x400040
};



А вот как из них получить массив Color:
Код

Color[] colors = new Color[0x30];
            for (int i = 0; i < cols.Length; i++)
            {
                colors[i] = ColorTranslator.FromOle(cols[i]);
            }


Это сообщение отредактировал(а) informatik - 14.10.2008, 15:43
--------------------
namespace informatik
PM MAIL   Вверх
Certain
Дата 14.10.2008, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: 3
Всего: 4



 smile  жесть! я по проще способ нашел, не custom конечно, а даже лучше
Спасибо за помощь 

Это сообщение отредактировал(а) Certain - 14.10.2008, 15:57
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
informatik
Дата 14.10.2008, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 2
Всего: 6



Цитата

А мне нужны простые (Custom)

В будущем пишите вопросы правильно...

Цитата

жесть! я по проще способ нашел, не custom конечно, а даже лучше


Я бы неназвал ваш способ лучше....

А так же представленный мной код как раз и выполняется при отображении редактора цветов..

Это сообщение отредактировал(а) informatik - 14.10.2008, 17:59
--------------------
namespace informatik
PM MAIL   Вверх
elbjarn
Дата 14.10.2008, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 13.4.2008
Где: Дубна

Репутация: нет
Всего: 3



Цитата(Partizan @  14.10.2008,  13:40 Найти цитируемый пост)
Certain, что мешает пробежаться по всему enum-у и получить .ToString() каждого цвета? 

сорри за оффтоп, но в данном случае лучше применить статический метод класса Enum. GetValues(), по-моему, называется. ему надо передать тип перечисления, и он вернет коллекцию всех возможных значений данного перечисления. 

informatik, просто любопытно: как вы получили эти цвета?)
PM MAIL ICQ   Вверх
informatik
Дата 15.10.2008, 06:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 2
Всего: 6



Цитата

informatik, просто любопытно: как вы получили эти цвета?) 


Reflector......
--------------------
namespace informatik
PM MAIL   Вверх
Certain
Дата 15.10.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: 3
Всего: 4



Informatik,
в рефлекторе структура Color берёт данные из enum`a KnowColor, а KnowColor расписан вот в таком виде
Код

public enum KnownColor
{
    ActiveBorder = 1,
    ActiveCaption = 2,
    ActiveCaptionText = 3,
    AliceBlue = 0x1c,
    AntiqueWhite = 0x1d,
    AppWorkspace = 4,
    Aqua = 30,
    Aquamarine = 0x1f,
    Azure = 0x20,
    Beige = 0x21,
    Bisque = 0x22,
    Black = 0x23,
    BlanchedAlmond = 0x24,
    Blue = 0x25,
    BlueViolet = 0x26,
    Brown = 0x27,
    BurlyWood = 40,
    ButtonFace = 0xa8,
    ButtonHighlight = 0xa9,
    . . .
}


будте любезны поясните , что здесь к чему? Это биты или что? и как вы получили из этого к примеру вот это 0x400040?
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
Partizan
Дата 15.10.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Certain, эээ...вообще говоря у вас там id элемента в enum, а 0х400040 - это уже сам цвет


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Certain
Дата 15.10.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: 3
Всего: 4



Цитата(informatik @ 15.10.2008,  06:22)
Цитата

informatik, просто любопытно: как вы получили эти цвета?) 


Reflector......

можно по подробнее
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
informatik
Дата 15.10.2008, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 2
Всего: 6



Цитата

Цитата(informatik @ 15.10.2008,  06:22)
Цитата

informatik, просто любопытно: как вы получили эти цвета?) 


Reflector......

можно по подробнее 


Из вашего первого вопроса:
Цитата

А мне нужны простые (Custom)

я понял что вам нужно только те цвета которые отображаются на вкладке Custom у контрола выбора цвета.

этот контрол - ColorEditor. В нем есть класс ColorPalette, а в нем в свою очередь в конструкторах все ясно.

Кстати говоря есть ведь еще класс ColorDialog, дак вот в нем по всей видимости эти цвета беруться совсем из другого места...  smile 

Это сообщение отредактировал(а) informatik - 15.10.2008, 15:59
--------------------
namespace informatik
PM MAIL   Вверх
Certain
Дата 15.10.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: 3
Всего: 4



Очень интересно.... спасибо!!!  smile 
Простите, а какая у Вас версия framework?

Это сообщение отредактировал(а) Certain - 15.10.2008, 17:58
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0545 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.