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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по Random'у и Color'у =) 
:(
    Опции темы
oleeg
Дата 16.7.2008, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем привет =)
Есть тут вопрос.Смысл вопроса - сформировать массив, в котором будут все цвета, потом с помощью рандома из этого массива извлекаеться цвет и он присваиваеться  pictureBox1.BackColor. Как это сделать?
Есть код,  только он не пашет.
Код

        // кнопка сменить backColor
        private void buttonChangeBackColor_Click(object sender, EventArgs e)
        {
            
            byte[] byteColors = new byte[Enum.GetValues(typeof(Color)).Length];
            Random rndColors = new Random();
            rndColors.NextBytes(byteColors);
           
         
            
        }


Т e код пашет, но при нажатии на кнопку buttonChangeBackColor выскакивает исключение
Код

Type provided must be an Enum.
Parameter name: enumType

Подскажите, пожалуйста, как правильно сделать. Заранее спасибо


Это сообщение отредактировал(а) oleeg - 16.7.2008, 02:35
PM MAIL   Вверх
Partizan
Дата 16.7.2008, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


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

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



oleeg, Color это не enum, а статический класс...


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


Шустрый
*


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

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



Если тебе нужно выбрать случайный цвет из массива, то так:
Код

        Color[] colors = { Color.Red, Color.Blue, Color.Green/*, ...*/ };
        private void button1_Click(object sender, EventArgs e)
        {
            Random random = new Random();
            int i = random.Next(colors.Length);
            pictureBox1.BackColor = colors[i];
        }

Если вообще любой цвет, то так:
Код

        private void button2_Click(object sender, EventArgs e)
        {
            Random random = new Random();
            int r = random.Next(byte.MaxValue);
            int g = random.Next(byte.MaxValue);
            int b = random.Next(byte.MaxValue);
            Color color = Color.FromArgb(r, g, b);
            pictureBox1.BackColor = color;
        }


Добавлено через 2 минуты и 31 секунду
Или еще проще:
Код

        private void button2_Click(object sender, EventArgs e)
        {
            Random random = new Random();
            pictureBox1.BackColor = Color.FromArgb(random.Next(int.MaxValue));
        }

--------------------
Get Rich or Die Tryin'
PM   Вверх
oleeg
Дата 16.7.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем спасибо, решение нашел 
Код

   Random rnd = new Random();
            // случайный цвет присваиваем pictureBox1.BackColor
            pictureBox1.BackColor = Color.FromArgb(rnd.Next(255), rnd.Next(255),rnd.Next(255));

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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