下拉框有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实现只能选择不能输入,且下拉框中有默认值。的更多相关文章

  1. easyui的combobox下拉框初始化默认值以及保持该值一直显示的方法

    easyui的combobox下拉框默认初始值是空,下面是实现从远程加载数据之后初始化默认值,以及让该值一直排在下拉框的最顶部的方式. 目前的需求是需要在初始化的时候添加"全部数据库&quo ...

  2. python webdriver中对不同下拉框通过文本值的选择

    在自动化中python对下拉框的处理网上相对实例比较少,其它前辈写的教程中对下拉也仅仅是相对与教程来说的,比如下面: m=driver.find_element_by_id("Shippin ...

  3. easyui的combobox将得到的数据设定为下拉框默认值和复选框设定默认值

    通过easyui做了一个表,表里是从数据库拿到的数据. 现在双击某一行,通过点击行的id取到这一行的所有数据,现在需要修改这些得到的数据, 其中部分数据是<select>这个选择的, 问题 ...

  4. Robot Framework选择定位option类型下拉框

    页面下拉框一般有两种类型,一种是div标签的,一种是option类型的,比如: div标签类型则可以通过定位进行元素点击去选择对应的枚举参数则可,而option类型的下拉选项则通过Selenium2L ...

  5. devexpress 的combobox怎样只能选择不能输入

    我们知道listbox和combobox的区别就是listbox是下拉列表框,只能下拉,不支持在listbox中自定义输入,而combobox是textbox和listbox的合体,被称为组合框. c ...

  6. WPF中。。DataGrid 实现时间控件和下拉框控件

    DatePicker 和新的 DataGrid 行 用户与 DataGrid 中日期列的交互给我造成了很大的麻烦. 我通过将一个 Data Source 对象拖动到 WPF 窗口上,创建了一个 Dat ...

  7. Element UI系列:Select下拉框实现默认选择

    实现的主要关键点在于 v-mode 所绑定的值,必须是 options 数组中对应的 value 值

  8. selenium select 选择下拉框

    实战百度首页设置,浏览偏好设置. 打开首页,在非登录的情况下,查看分析页面元素,我们可以看到,我们首先要点击的是设置, 接着点击,搜索设置, 然后select选择下拉框. select_by_inde ...

  9. bootstrap3中select2的默认值和下拉框的禁用

    最近做项目用到了select2插件,需求中需要给下拉框设置默认值之后,禁用下拉框,我开始的写法是这样的 <script type="text/javascript"> ...

随机推荐

  1. AtCoder Grand Contest 003 D - Anticube

    题目传送门:https://agc003.contest.atcoder.jp/tasks/agc003_d 题目大意: 给定\(n\)个数\(s_i\),要求从中选出尽可能多的数,满足任意两个数之积 ...

  2. Bits Equalizer UVA - 12545

    点击打开链接 #include<cstdio> #include<cstring> /* 别看错了:0能变1,1不能变0 能完成的条件是,s与t长度相等且s中0数量和?数量之和 ...

  3. vs2010 坑爹的BUG

    以前用VS2005的时候,就遇到过一些很奇怪的BUG,比如始终报错,然后把项目文件删除,重新创建一个项目文件,就好了. 今天用VS2010测试程序时,又发现一个坑爹的BUG,这绝对不是我的错! sta ...

  4. SpringMVC和MyBatis的整合

    这里我们需要用到一个关键的jar包——Spring-MyBatis,它会帮你将MyBatis代码无缝地整合到Spring中.具体可以参考http://www.mybatis.org/spring/zh ...

  5. 482 License Key Formatting 注册码格式化

    详见:https://leetcode.com/problems/license-key-formatting/description/ C++: class Solution { public: s ...

  6. [在读]Nodejs实战

    书到手的时候其实就已经过时,Express更新太快,因而书中的例子实践起来会有很多阻碍. 目前搁置状态.

  7. 01_C++学习笔记_入门

    1.float类型只能表示数字里面的前6位或者前7位.也就是说c++只能保证float类型的数字的前6位是正确的.如果要求的精度更高的话,请使用double和long double. float精度是 ...

  8. oracle 数据导入、导出

    导入导出 --数据导出备份和导入 ------注意 导出和导入 必须是CMD 命令行下操作,而不是SQL编辑器中 --1.导出表 . --exp:导出关键字 ,userid:用户权限 ,file:保存 ...

  9. SpringBoot 2.x (5):异常处理与部署WAR项目

    异常处理: SpringBoot的异常处理是不友好的,前端只会显示最基本的错误名称 后端控制台会报出具体的错误,那么我们如何告知前端具体的错误信息呢? 1:对全局异常进行处理 一个测试的Control ...

  10. 日常博客----rem,em的恩怨相杀

    基本知识: 使用 em 和 rem 单位可以让我们的设计更加灵活,能够控制元素整体放大缩小,而不是固定大小. 我们可以使用这种灵活性,使我们在开发期间,能更加快速灵活的调整,允许浏览器用户调整浏览器大 ...