ایجاد کمبوباکس دو ستونه

یک برنامه ویندوزی ایجاد کرده و یک کنترل Combobox بر روی آن قرار دهید و با دوبار کلیک بر روی فرم در رویداد Load آن کدهای زیر را بنویسید :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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

        private void Form1_Load(object sender, EventArgs e)
        {
            DataTable DataTable1 = new DataTable();
            DataTable1.Columns.Add("ID", typeof(int));
            DataTable1.Columns.Add("Name", typeof(string));

            DataTable1.Rows.Add(1, "یونس ابراهیمی");
            DataTable1.Rows.Add(2, "یحیی ابراهیمی");
            DataTable1.Rows.Add(3, "علی بامدادی");
            DataTable1.Rows.Add(4, "سروش ابراهیمی");


            this.comboBox1.DataSource = DataTable1;
            this.comboBox1.DisplayMember = "Name";
            this.comboBox1.ValueMember = "ID";


            this.comboBox1.DrawMode = DrawMode.OwnerDrawFixed;

            this.comboBox1.DrawItem += delegate(object cmb, DrawItemEventArgs args)
            {
                args.DrawBackground();
                DataRowView DataRowView1 = (DataRowView)this.comboBox1.Items[args.Index];

                string id = DataRowView1["id"].ToString();
                string name = DataRowView1["name"].ToString();

                Rectangle Rectangle1 = args.Bounds;
                Rectangle1.Width /= 2;

                using (SolidBrush SolidBrush1 = new SolidBrush(args.ForeColor))
                {
                    args.Graphics.DrawString(id, args.Font, SolidBrush1, Rectangle1);
                }

                using (Pen Pen1= new Pen(Color.Black))
                {
                    args.Graphics.DrawLine(Pen1, Rectangle1.Right, 0, Rectangle1.Right, Rectangle1.Bottom);
                }

                Rectangle Rectangle2 = args.Bounds;
                Rectangle2.X = args.Bounds.Width / 2;
                Rectangle2.Width /= 2;

                using (SolidBrush SolidBrush2 = new SolidBrush(args.ForeColor))
                {
                    args.Graphics.DrawString(name, args.Font, SolidBrush2, Rectangle2);
                }
            };
        }
    }
}

multicolumn-combobox-c#