C# 如何在ComboBox输入文字改变时,触发事件?
一、了解C#中的预定义事件处理机制
在写代码前我们先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理。
EventArgs是包含事件数据的类的基类,用于传递事件的细节。
EventHandler是一个委托声明如下
public delegate void EventHandler( object sender , EventArgs e )
注意这里的参数,前者是一个对象(其实这里传递的是对象的引用,如果是button1的click事件则sender就是button1),后面是包含事件数据的类的基类。
方案:
我们创建一个cmbChanged方法,传递sender。然后在combobox触发不同事件的时候都可以引用这个方法。
如下代码,不管哪个事件触发,我们将combobox选择展示的内容都赋给一个参数:cmbMarkNumText 。
1 private void cmbMarkNum_SelectedIndexChanged(object sender, EventArgs e)//选择下拉选项时 2 { 3 cmbMarkNumText = cmbChanged(sender); 4 } 5 private void cmbMarkNum_TextUpdate(object sender, EventArgs e)//combobox输入文字改变时 6 { 7 cmbMarkNumText = cmbChanged(sender); 8 } 9 private string cmbChanged(object sender) 10 { 11 string rtxt; 12 ComboBox cmb = (ComboBox)sender;//强制吧sender转换为ComboBox类型赋值给cmb. 13 return rtxt = cmb.Text; 14 }
C# 怎么实现ComboBox“只能选择,不能修改”的功能
DropDownStyle 属性设置为 DropDownList.
#Simple 简单的下拉列表框(始终显示列表)。
#DropDown 可以编辑,与有下拉列表。默认。
#DropDownList 只有下拉列表,不能编辑。
其他阅读:C#事件中sender的小用法
浅析C#的事件处理和自定义事件[object sender , EventArgs e]
Combobox赋值拓展: Combobox设置 DataSource 后,其 Text 会自动变为源中首项,而不再是原值。
分类:
.NET
, Programming
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~