Csharp/C Sharp by API/System.Windows.Forms/ComboBoxStyle
ComboBoxStyle.DropDown
<source lang="csharp"> using System; using System.Drawing; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; public class ComboBoxes : Form {
ComboBox cmb; Button btnDisplay; Button btnInsert; Button btnSelect; Label lblEdit; TextBox txtDisplay; Boolean boolChange = false; Boolean boolProcessed = false; public ComboBoxes() { Size = new Size(300,400); this.Load += new EventHandler(this_Load); cmb = new ComboBox(); cmb.Parent = this; cmb.Location = new Point(10,10); cmb.Size = new Size(ClientSize.Width / 2, Height - 200); cmb.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom; cmb.DropDownStyle = ComboBoxStyle.DropDown; cmb.DropDownStyle = ComboBoxStyle.Simple; cmb.DropDownWidth = (int)(cmb.Width * 1.5); cmb.MaxDropDownItems = 12; cmb.MaxLength = 20; cmb.SelectionChangeCommitted += new EventHandler(cmb_SelectionChangeCommitted); cmb.Leave += new EventHandler(cmb_Leave); btnInsert = new Button(); btnInsert.Parent = this; btnInsert.Text = "&Insert Item"; btnInsert.Size = new Size((int)(Font.Height * .75) * btnInsert.Text.Length, cmb.Height); btnInsert.Location = new Point(cmb.Right + 10, cmb.Top); btnInsert.Click += new System.EventHandler(btnInsert_Click); lblEdit = new Label(); lblEdit.Parent = this; lblEdit.BorderStyle = BorderStyle.Fixed3D; lblEdit.Location = new Point(cmb.Left, cmb.Bottom + 10); lblEdit.BackColor = Color.LightGray; lblEdit.Text = ""; lblEdit.Size = new Size(cmb.DropDownWidth, Font.Height * 2); btnDisplay = new Button(); btnDisplay.Parent = this; btnDisplay.Text = "&Display Items"; btnDisplay.Size = new Size((int)(Font.Height * .75) * btnDisplay.Text.Length, cmb.Height); btnDisplay.Location = new Point(lblEdit.Left, lblEdit.Bottom + 10); btnDisplay.Click += new System.EventHandler(btnDisplay_Click); txtDisplay = new TextBox(); txtDisplay.Parent = this; txtDisplay.Location = new Point(btnDisplay.Left, btnDisplay.Bottom + 10); txtDisplay.Multiline = true; txtDisplay.ReadOnly = true; txtDisplay.BackColor = Color.LightGray; txtDisplay.ScrollBars = ScrollBars.Vertical; txtDisplay.Text = ""; txtDisplay.Size = new Size(cmb.DropDownWidth, 200); btnSelect = new Button(); btnSelect.Parent = this; btnSelect.Text = "&Select 4"; btnSelect.Size = new Size((int)(Font.Height * .75) * btnSelect.Text.Length, cmb.Height); btnSelect.Location = new Point(btnDisplay.Right + 10, btnDisplay.Top); btnSelect.Click += new System.EventHandler(btnSelect_Click); cmb.Items.Add("A"); cmb.Items.Add("B"); cmb.Items.Add("C"); cmb.Items.Add("D"); cmb.Items.Add("E"); cmb.SelectedIndex = 0; } static void Main() { Application.Run(new ComboBoxes()); } private void this_Load(object sender, EventArgs e) { cmb.TextChanged += new EventHandler(cmb_TextChanged); cmb.SelectedIndexChanged += new EventHandler(cmb_SelectedIndexChanged); } private void cmb_TextChanged(object sender, EventArgs e) { if (!boolProcessed) lblEdit.Text = cmb.Text; boolChange = true; } private void cmb_SelectedIndexChanged(object sender, EventArgs e) { if (boolChange) { boolChange = false; boolProcessed = false; } } private void cmb_SelectionChangeCommitted(object sender, EventArgs e) { if (boolChange) ProcessChange(); } private void cmb_Leave(object sender, EventArgs e) { if (boolChange) { ProcessChange(); boolChange = false; } } private void ProcessChange() { lblEdit.Text = "Edited: " + cmb.Text; boolProcessed = true; } private void btnDisplay_Click(object sender, EventArgs e) { string str = DateTime.Now.ToString() + "\r\n"; foreach (object item in cmb.Items) { str += item.ToString() + "\r\n"; } txtDisplay.Text = str; } private void btnSelect_Click(object sender, EventArgs e) { cmb.Select(1,2); } private void btnInsert_Click(object sender, EventArgs e) { if (cmb.FindStringExact(cmb.Text) != -1) { MessageBox.Show(""" + cmb.Text + "" already exists in the list.\r\n" + "Will not be added again.", "Already Exists!"); } else if (cmb.Text == "") { MessageBox.Show("There is nothing to add.","Nothing There"); } else { cmb.Items.Add(cmb.Text); } }
}
</source>
ComboBoxStyle.Simple
<source lang="csharp"> using System; using System.Drawing; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; public class ComboBoxes : Form {
ComboBox cmb; Button btnDisplay; Button btnInsert; Button btnSelect; Label lblEdit; TextBox txtDisplay; Boolean boolChange = false; Boolean boolProcessed = false; public ComboBoxes() { Size = new Size(300,400); this.Load += new EventHandler(this_Load); cmb = new ComboBox(); cmb.Parent = this; cmb.Location = new Point(10,10); cmb.Size = new Size(ClientSize.Width / 2, Height - 200); cmb.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom; cmb.DropDownStyle = ComboBoxStyle.DropDown; cmb.DropDownStyle = ComboBoxStyle.Simple; cmb.DropDownWidth = (int)(cmb.Width * 1.5); cmb.MaxDropDownItems = 12; cmb.MaxLength = 20; cmb.SelectionChangeCommitted += new EventHandler(cmb_SelectionChangeCommitted); cmb.Leave += new EventHandler(cmb_Leave); btnInsert = new Button(); btnInsert.Parent = this; btnInsert.Text = "&Insert Item"; btnInsert.Size = new Size((int)(Font.Height * .75) * btnInsert.Text.Length, cmb.Height); btnInsert.Location = new Point(cmb.Right + 10, cmb.Top); btnInsert.Click += new System.EventHandler(btnInsert_Click); lblEdit = new Label(); lblEdit.Parent = this; lblEdit.BorderStyle = BorderStyle.Fixed3D; lblEdit.Location = new Point(cmb.Left, cmb.Bottom + 10); lblEdit.BackColor = Color.LightGray; lblEdit.Text = ""; lblEdit.Size = new Size(cmb.DropDownWidth, Font.Height * 2); btnDisplay = new Button(); btnDisplay.Parent = this; btnDisplay.Text = "&Display Items"; btnDisplay.Size = new Size((int)(Font.Height * .75) * btnDisplay.Text.Length, cmb.Height); btnDisplay.Location = new Point(lblEdit.Left, lblEdit.Bottom + 10); btnDisplay.Click += new System.EventHandler(btnDisplay_Click); txtDisplay = new TextBox(); txtDisplay.Parent = this; txtDisplay.Location = new Point(btnDisplay.Left, btnDisplay.Bottom + 10); txtDisplay.Multiline = true; txtDisplay.ReadOnly = true; txtDisplay.BackColor = Color.LightGray; txtDisplay.ScrollBars = ScrollBars.Vertical; txtDisplay.Text = ""; txtDisplay.Size = new Size(cmb.DropDownWidth, 200); btnSelect = new Button(); btnSelect.Parent = this; btnSelect.Text = "&Select 4"; btnSelect.Size = new Size((int)(Font.Height * .75) * btnSelect.Text.Length, cmb.Height); btnSelect.Location = new Point(btnDisplay.Right + 10, btnDisplay.Top); btnSelect.Click += new System.EventHandler(btnSelect_Click); cmb.Items.Add("A"); cmb.Items.Add("B"); cmb.Items.Add("C"); cmb.Items.Add("D"); cmb.Items.Add("E"); cmb.SelectedIndex = 0; } static void Main() { Application.Run(new ComboBoxes()); } private void this_Load(object sender, EventArgs e) { cmb.TextChanged += new EventHandler(cmb_TextChanged); cmb.SelectedIndexChanged += new EventHandler(cmb_SelectedIndexChanged); } private void cmb_TextChanged(object sender, EventArgs e) { if (!boolProcessed) lblEdit.Text = cmb.Text; boolChange = true; } private void cmb_SelectedIndexChanged(object sender, EventArgs e) { if (boolChange) { boolChange = false; boolProcessed = false; } } private void cmb_SelectionChangeCommitted(object sender, EventArgs e) { if (boolChange) ProcessChange(); } private void cmb_Leave(object sender, EventArgs e) { if (boolChange) { ProcessChange(); boolChange = false; } } private void ProcessChange() { lblEdit.Text = "Edited: " + cmb.Text; boolProcessed = true; } private void btnDisplay_Click(object sender, EventArgs e) { string str = DateTime.Now.ToString() + "\r\n"; foreach (object item in cmb.Items) { str += item.ToString() + "\r\n"; } txtDisplay.Text = str; } private void btnSelect_Click(object sender, EventArgs e) { cmb.Select(1,2); } private void btnInsert_Click(object sender, EventArgs e) { if (cmb.FindStringExact(cmb.Text) != -1) { MessageBox.Show(""" + cmb.Text + "" already exists in the list.\r\n" + "Will not be added again.", "Already Exists!"); } else if (cmb.Text == "") { MessageBox.Show("There is nothing to add.","Nothing There"); } else { cmb.Items.Add(cmb.Text); } }
}
</source>