程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# ComboBox實現不能輸入,且下拉選框文本上有值

C# ComboBox實現不能輸入,且下拉選框文本上有值

編輯:C#入門知識

下拉框有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的屬性中設置。
以上都寫好後,就會實現效果,但是效果在一些組件有改變(即使不和下拉框有關聯的),整個文件會重構,裡面修改過的語句就會還原到,等於什麼也沒有改。換句話說,就是每次組件的修改,就要把上面的動作在做一遍
我的方法是把默認值的賦值全部寫在另一個自己寫的方法裡面,然後在初始化組建之後,調用這個方法。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved