C#中的ComboBox实现只能选择不能输入,且下拉框中有默认值。

摘要:
即使在“文本”属性中输入了默认值,它也会在(XXX.Designer.cs)文件中进行修改。this.NameTemplateBox.Font=newSystem.Drawing.Font(“Arial”,((字节)(0));this.NameTemplateBox.FormatingEnabled=true;最后一个“}”);

下拉框有DropDownStyle这一属性,把DropDownStyle类型选为DropDownList,则下拉框只能选择不能输入了。但是这时的下拉框是没有默认值的,即使在Text属性中输入默认值,也不起作用。就要在(某某某.Designer.cs)文件中修改。
这是没有修改的:
this.NameTemplateBox.Cursor = System.Windows.Forms.Cursors.Default; 
this.NameTemplateBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 
this.NameTemplateBox.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
this.NameTemplateBox.FormattingEnabled = true; 
this.NameTemplateBox.Items.AddRange(new object[] { 
"-- choose the template --", 
"First", 
"First,Last", 
"First,Middle,Last"}); 
this.NameTemplateBox.Location = new System.Drawing.Point(138, 124); 
this.NameTemplateBox.Name = "NameTemplateBox"; 
this.NameTemplateBox.Size = new System.Drawing.Size(150, 23); 
this.NameTemplateBox.TabIndex = 15; 

加粗的那行代码是下拉框只能选择不能输入的设置。
要在那行代码之前加一句默认值的设置。修改如下:
this.NameTemplateBox.Cursor = System.Windows.Forms.Cursors.Default; 
this.NameTemplateBox.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
this.NameTemplateBox.FormattingEnabled = true; 
this.NameTemplateBox.Items.AddRange(new object[] { 
"-- choose the template --", 
"First", 
"First,Last", 
"First,Middle,Last"}); 
this.NameTemplateBox.Text = this.NameTemplateBox.Items[0].ToString(); 
this.NameTemplateBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 
this.NameTemplateBox.Location = new System.Drawing.Point(138, 124); 
this.NameTemplateBox.Name = "NameTemplateBox"; 
this.NameTemplateBox.Size = new System.Drawing.Size(150, 23); 
this.NameTemplateBox.TabIndex = 15; 

如果第一行加粗的改为
this.NameTemplateBox.Text =“默认值”; 
则和在属性中直接输入默认值一样,会被自动删除掉。
注意:第一行加粗的语句要写在
this.NameTemplateBox.Items.AddRange(new object[] { 
"-- choose the template --", 
"First", 
"First,Last", 
"First,Middle,Last"}); 
语句的后面。上面的语句可以在Items的属性中设置。

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

免责声明:文章转载自《C#中的ComboBox实现只能选择不能输入,且下拉框中有默认值。》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇axios 将post请求数据转为formdataASP.NET Web Game 构架设计2数据库设计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

docker-compose 搭建 kafka 集群

环境准备 kafka依赖zookeeper,所以搭建kafka需要先配置zookeeper。网格信息如下: zookeeper 192.168.56.101:2181 kafka1 192.168.56.101:9092 kafka2 192.168.56.101:9093 kafka3 192.168.56.101:9094 开始搭建...

2020第44周Windows文件系统不区分大小写

由于Windows文件系统不区分大小写,所以你不能通过大小写来区分文件名或文件夹名,比如你在资源管理器中新建一个A.txt文件,想再建个a.txt时会提示你重名并自动重命名。这在Git操作时可能会遇到问题,比如你代码库里文件或文件夹修改了名称,默认Git认为是没变的,如果单纯让Git在仓库中区分大小写会产生两份文件并且无法在Windows系统中观察到),...

QT MSVC中文编译出错error: C2001: 常量中有换行符 --- 解决方案

前言 这个问题一直存在,以前是妥协,现在实在是忍不了,不解决,强迫症都要犯了,于是百度了一下,看到有一篇文章是这样解决的,于是亲测,确实有效果,记录如下 正文 QT上用MSVC去编译部分含有中文的字符串时会出现编译错误 error: C2001: 常量中有换行符 ,但用MinGW就不会。需在后面加个正常的字符才能正常编译,但出现 了。其编码如下图,明...

1. Linux驱动开发之开篇--Makefile

基本Makefile假设现在有3个文件,file2.h是函数声明,file2.c是函数定义,文件file1.c调用file2.c中的函数。则Makefile文件的编写如下: helloworld:file1.o file2.o gcc file1.o file2.o -o helloworld file1.o:file1.c file2.h...

nignx反向代理web服务器的配置与使用

一、为什么要用nignx反向代理 1、负载均衡   当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。 我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一...

build.gradle文件详解<三>

 参考:http://blog.csdn.net/baidu_31093133/article/details/51860637 build.gradle配置参数详解      //声明是Android程序      apply plugin: 'com.android.application'      android {   //程序在编译的时候...