Merhaba,
Belirttiğiniz şekilde ComboBox nasıl kullanılır öğrenmeniz için örnek bir proje hazırladım. Projeyi buradan indirebilirsiniz. Anlamadığınız yer olursa sorarsanız yardımcı olurum. Projede örnek olarak NORTHWIND veritabanı kullanılmıştır.

Direkt kodları da yazayım incelemek isteyenler için.
Öncelikle Database.cs içerisindeki Database kodları;
namespace ComboboxSample
{
    using System;
    using System.Data;
    using System.Data.SqlClient;
    public class Database
    {
        public string Error { get; set; }
        private SqlConnection connection;

        private SqlConnection OpenConnection()
        {
            try
            {
                this.connection = new SqlConnection("Data Source=BYOGUZ; Initial Catalog=NORTHWND; User Id=sa; Password=123456;");
                this.connection.Open();
                return this.connection;
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void CloseConnection()
        {
            if (this.connection != null && this.connection.State == System.Data.ConnectionState.Open)
            {
                this.connection.Close();
                this.connection.Dispose();
                this.connection = null;
            }

        }

        public DataTable GetDataTable(string sql)
        {
            try
            {
                using (var command = new SqlCommand(sql, OpenConnection()))
                {
                    using (var adap = new SqlDataAdapter(command))
                    {
                        using (var table = new DataTable())
                        {
                            adap.Fill(table);
                            return table;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                this.Error = ex.ToString();
                return null;
            }
            finally
            {
                CloseConnection();
            }
        }
        public DataTable GetDataTable(SqlCommand command)
        {
            try
            {
                command.Connection = OpenConnection();
                using (var adap = new SqlDataAdapter(command))
                {
                    using (var table = new DataTable())
                    {
                        adap.Fill(table);
                        return table;
                    }
                }

            }
            catch (Exception ex)
            {
                this.Error = ex.ToString();
                return null;
            }
            finally
            {
                command.Dispose();
                CloseConnection();
            }
        }
    }
}

Buda formumuzun kod tarafı.
namespace ComboboxSample
{
    using System;
    using System.Data.SqlClient;
    using System.Windows.Forms;

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.Db = new Database();
        }

        private Database Db;
        private void SetComboBox(ComboBox combo, object dataSource, string valueMember, string displayMember)
        {
            lock (combo)
            {
                combo.DataSource = dataSource;
                combo.DisplayMember = displayMember;
                combo.ValueMember = valueMember;
            }

        }

        private void btnKategoriYukle_Click(object sender, EventArgs e)
        {
            var source = Db.GetDataTable("SELECT CategoryID, CategoryName FROM Categories");
            if (source == null)
            {
                MessageBox.Show(Db.Error);
            }
            else
            {
                SetComboBox(cmbKategori, source, "CategoryID", "CategoryName");
            }
        }

        private void cmbKategori_SelectedValueChanged(object sender, EventArgs e)
        {
            try
            {
                int categoryId = Convert.ToInt32(cmbKategori.SelectedValue);
                var command = new SqlCommand("SELECT ProductID,ProductName FROM Products WHERE CategoryID=@CategoryId");
                command.Parameters.AddWithValue("@CategoryId", categoryId);
                var source = Db.GetDataTable(command);
                if (source == null)
                {
                    MessageBox.Show(Db.Error);
                }
                else
                {
                    SetComboBox(cmbUrun, source, "ProductID", "ProductName");
                }
            }
            catch (Exception)
            {

            }
        }

        private void cmbUrun_SelectedValueChanged(object sender, EventArgs e)
        {
            try
            {
                int productId = Convert.ToInt32(cmbUrun.SelectedValue);
                var command = new SqlCommand("SELECT OrderID,UnitPrice FROM OrderDetails WHERE ProductID=@ProductId");
                command.Parameters.AddWithValue("@ProductId", productId);
                var source = Db.GetDataTable(command);
                if (source == null)
                {
                    MessageBox.Show(Db.Error);
                }
                else
                {
                    SetComboBox(cmbBirimFiyat, source, "OrderID", "UnitPrice");
                }
            }
            catch (Exception)
            {

            }
        }
    }
}