c# 设置文本框textBox自动检索
这个方法是目前找到最简单的一种,如果想要更复杂的自动检索那就要自己去定制方法了
- 使用控件:winform的textBox 以及Dev的TreeList
先上效果:
- 实现过程:
在窗体load时先将treelist的政区名称列绑定到textbox
//文本框过滤(模糊查询)DataTable dtSource = treeListZQ.DataSource as DataTable;List<string> Data = new List<string>();foreach (DataRow dr in dtSource.Rows){string name = dr["s_domainname"].ToString();Data.Add(name);}//重点代码this.textBox1.AutoCompleteCustomSource.Clear();this.textBox1.AutoCompleteCustomSource.AddRange(Data.ToArray());this.textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;this.textBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
设置textBox的文本改变事件,值改变时自动检索以及修改treelist的节点定位:
private void textBox1_TextChanged(object sender, EventArgs e){string ZQName = textBox1.Text;if (string.IsNullOrWhiteSpace(ZQName))return;TreeListNode pNode = this.treeListZQ.FindNodeByFieldValue("s_domainname", ZQName);if (pNode == null) return;treeListZQ.CollapseAll();//重置Treestring name = pNode["s_domainname"].ToString();int ZQLevel = pNode.Level;if (ZQLevel == 0){}else if (ZQLevel == 1){pNode.Expanded = true;}else if (ZQLevel == 2){pNode.ParentNode.Expanded = true;pNode.ParentNode.ParentNode.Expanded = true;}else if (ZQLevel == 3){pNode.ParentNode.Expanded = true;pNode.ParentNode.ParentNode.Expanded = true;pNode.ParentNode.ParentNode.ParentNode.Expanded = true;}this.treeListZQ.FocusedNode = pNode;pNode.Selected = true;}
细心的小伙伴可能看到了文本框在没有输入文字时,文本框内有灰掉的文字,这是用来提示文本空需要输入的内容:
方法分两步:
先判断输入框是否有文本,需要注册事件textBox1_Enter
Boolean textboxHasText = false;private void textBox1_Enter(object sender, EventArgs e){if (textboxHasText == false)textBox1.Text = "";textBox1.ForeColor = Color.Black;}
离开文本框时通过上面的判断,没有文字:显示提示文字,有文字取消提示
private void textBox1_Leave(object sender, EventArgs e){if (textBox1.Text == ""){textBox1.Text = "政区名称";textBox1.ForeColor = Color.LightSlateGray;textboxHasText = false;}elsetextboxHasText = true;}
以上参考链接:三小 惊风雨
c# 设置文本框textBox自动检索相关推荐
- php+输入框只读,设置文本框只读(textbox/input readonly)不允许输入
文本框一般是用来让用户输入填写资料的,但有的时候只是用它来显示资料,也就是不允许输入任何内容,这应该怎么设置?只要添加一个只读属性(readonly)就能达到这个目的. 文本框有两种,一种为服务器控件 ...
- 限制文本框(TextBox)只能输入数字(VB6代码)
在一些要求只允许输入数值的场合,就用得上了. 基本思路是,先在文本框的keyPress事件里过滤键盘输入,再使用子类化将粘贴剪切等剪贴板操作吃掉. 窗体frmMain.frm内代码(窗体包含一个文本框 ...
- excel 单元格如何获取textbox中的值 java,把excel表格数据定义为文本框-excel中如何将单元格里的数值显示在文本框(textbox)里...
excel中如何将单元格里的数值显示在文本框(textbox)里 sheets("Sheet2").range("b3")=textbox ---------- ...
- 文本框内容自动投影,浅谈C#中事件的写法与应用
C#中委托和事件,对应设计模式:Observe观察者模式 触发事件A的时候自动引起事件B的改变 有两个打开的窗体Form1,Form2 都有一个文本框控件TextBox Form1的文本框输入内容时, ...
- C# DEV TextEdit 设置文本框只能输入数字(整数)
介绍下,设置TextEdit 设置文本框只能输入数字(整数): 在TextEdit里 找到 Mask属性 代码设置: MaskType="RegEx" UseMaskAsDispl ...
- php设置文本框格式化,PHP实现设置文本框的只读属性
[在.net中,对Textbox控件设置只读属性时如果用下面的方式 TextBox1.ReadOnly = true;可以看到页面上的TextBox的确不能编辑了,但是在后台代 ...
- Win32汇编获取和设置文本框的内容
看一下Win32汇编如何获取和设置文本框的内容: 资源文件如下: #include <resource.h>#define ICO_MAIN 0x1000 //图标 #define DLG ...
- SSRS动态设置文本框属性
SSRS可以通过表达式动态设置文本框所有的属性,比如字体,字号,是否加粗,如下图所示: 汉字和数字英文字母占用的空间不一样,一个汉字占用两个数字和英文字母的空间,VB里有LENB取得字节数,这SSRS ...
- java文本框背景_background 设置文本框背景图
background 属性的作用是给元素设置背景,它是一个复合属性,常用的子属性如下: background-color 指定元素的背景颜色. background-image 指定元素的背景图像. ...
最新文章
- 参数等效模型可以用于_等效媒质理论(介电参数反演)
- 使用PowerShell收集客户端MAC地址
- BUUCTF--Misc---easycap 追踪TCP流
- 前端生产方式:过去 10 年回顾和未来 10 年展望
- 使用枚举映射_用EnumMaps映射枚举键
- python怎么做项目_听说你没有python项目可做,我教你个方法
- c语言程序设计报告用于医院食品加工等部,南开(本部)《C语言程序设计》14春在线作业答案...
- PHP系统发布指什么,cis系统是指什么
- windows GDI开发
- Linux重启tomcat服务
- 关于DTCC数据库技术大会
- html中的背景颜色渐变效果,如何CSS实现网页背景三种颜色渐变效果?
- 数据分析报表设计开发要素
- 证件照怎么制作?怎样自己在线制作2寸照片?
- 杂记——贝叶斯可信区间与频率置信区间的区别
- 修真院七种教学工具之学习日报
- 微信小程序通过PHP控制云开发数据库的写入,读出,更新,删除
- 解决4K屏电脑显示问题
- java 网络编程(二) tcp传输实现客户端和服务端进行信息交流
- Python数据分析 | (27) 重塑和轴向旋转