Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > comboBox выбор цвета


Автор: PashaSem 30.6.2006, 13:55
Всем Привет!
Подскажите как сделать чтоб в обычном comboBox при нажатии выпадал список но не из перечичлений а из цветов(ИЗОБРАЖЕНИЕ)
синий 
красный 
зеленый 
желтыЙ

Спасибо! 

Автор: mr.DUDA 30.6.2006, 14:12
Легко:

1) меняем у комбобокса (в Properties) свойство DrawMode на OwnerDrawFixed
2) подписываемся на событие комбобокса DrawItem
3) вместо строк, добавляем в comboBox1.Items цвета (System.Drawing.Color)
4) в обработчике DrawItem получаем цвет, рисуем залитый цветом прямоугольник

Код:
Код
using System;
using System.Windows.Forms;
using System.Drawing;

namespace WindowsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            this.comboBox1.Items.Add(Color.Red);
            this.comboBox1.Items.Add(Color.Green);
            this.comboBox1.Items.Add(Color.Blue);
        }

        private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
        {
            Color color = (Color)this.comboBox1.Items[e.Index];
            e.Graphics.FillRectangle(new SolidBrush(color), e.Bounds);
        }
    }
}
 

Автор: AET 5.12.2007, 16:16
а как насчет простого строк как задание 1 и т д

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)