Full Code in C# and VB: Add (Insert) Default First Value in ComboBox in Windows Forms Application using C# and VB.Net
You have to do it in this way. Rather than inserting into the Combobox you need to add the value in the DataTable:
private void Form1_Load(object sender, EventArgs e)
{
this.PopulateCombobox();
}
private void PopulateCombobox()
{
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Country", typeof(string));
dt.Rows.Add(1, "USA");
dt.Rows.Add(2, "England");
dt.Rows.Add(3, "India");
// Create a new row
DataRow dr = dt.NewRow();
dr["Country"] = "Select";
dr["Id"] = "0";
// Insert it into the 0th index
dt.Rows.InsertAt(dr, 0);
this.cbbNames.ValueMember = "Id";
this.cbbNames.DisplayMember = "Country";
this.cbbNames.DataSource = dt;
}
VB:
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.PopulateCombobox()
End Sub
Private Sub PopulateCombobox()
Dim dt As New DataTable()
dt.Columns.Add("Id", GetType(Integer))
dt.Columns.Add("Country", GetType(String))
dt.Rows.Add(1, "USA")
dt.Rows.Add(2, "England")
dt.Rows.Add(3, "India")
' Create a new row
Dim dr As DataRow = dt.NewRow()
dr("Country") = "Select"
dr("Id") = "0"
' Insert it into the 0th index
dt.Rows.InsertAt(dr, 0)
Me.cbbNames.ValueMember = "Id"
Me.cbbNames.DisplayMember = "Country"
Me.cbbNames.DataSource = dt
End Sub
End Class
Image:

Thank You.