C# ComboBox实现不能输入,且下拉选框文本上有值

下拉框有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的属性中设置。
以上都写好后,就会实现效果,但是效果在一些组件有改变(即使不和下拉框有关联的),整个文件会重构,里面修改过的语句就会还原到,等于什么也没有改。换句话说,就是每次组件的修改,就要把上面的动作在做一遍
我的方法是把默认值的赋值全部写在另一个自己写的方法里面,然后在初始化组建之后,调用这个方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值