下拉框有DropDownStyle這一屬性,把DropDownStyle類型選為DropDownList,則下拉框只能選擇不能輸入了。但是這時的下拉框是沒有默認值的,即使在Text屬性中輸入默認值,也不起作用。就要在(某某某.Designer.cs)文件中修改。
這是沒有修改的:
this.ComboBox1.Cursor = System.Windows.Forms.Cursors.Default;
this.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ComboBox1.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ComboBox1.FormattingEnabled = true;
this.ComboBox1.Items.AddRange(new object[] {
"1",
"2",
"3"});
this.ComboBox1.Location = new System.Drawing.Point(138, 124);
this.ComboBox1.Name = "ComboBox1";
this.ComboBox1.Size = new System.Drawing.Size(150, 23);
this.ComboBox1.TabIndex = 15;
加粗的那行代碼是下拉框只能選擇不能輸入的設置。
要在那行代碼之前加一句默認值的設置。修改如下:
this.ComboBox1.Cursor = System.Windows.Forms.Cursors.Default;
this.ComboBox1.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ComboBox1.FormattingEnabled = true;
this.ComboBox1.Items.AddRange(new object[] {
"1",
"2",
"3"});
this.ComboBox1.Text = this.ComboBox1.Items[0].ToString();
this.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ComboBox1.Location = new System.Drawing.Point(138, 124);
this.ComboBox1.Name = "ComboBox1";
this.ComboBox1.Size = new System.Drawing.Size(150, 23);
this.ComboBox1.TabIndex = 15;
如果第一行加粗的改為
this.ComboBox1.Text =“默認值”;
則和在屬性中直接輸入默認值一樣,會被自動刪除掉。
注意:第一行加粗的語句要寫在
this.ComboBox1.Items.AddRange(new object[] {
"1",
"2",
"3"});
語句的後面。上面的語句可以在Items的屬性中設置。
以上都寫好後,就會實現效果,但是效果在一些組件有改變(即使不和下拉框有關聯的),整個文件會重構,裡面修改過的語句就會還原到,等於什麼也沒有改。換句話說,就是每次組件的修改,就要把上面的動作在做一遍
我的方法是把默認值的賦值全部寫在另一個自己寫的方法裡面,然後在初始化組建之後,調用這個方法。