【MARK】C# DataGridView控件单元格 未提交 内容改变事件
来源:互联网 发布:热敏标签打印软件 编辑:程序博客网 时间:2024/04/30 05:21
对于DataGridView控件,与单元格内容相关的有以下这几个事件:
<span style="font-size:18px;">// 当单元格内容改变并且提交之后发生(提交一般是单元格在编辑完之后失去焦点)private void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e){ }// 当单元格进入编辑状态时发生private void dataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e){ }// 在单元格的状态相对于其内容的更改而更改时发生。private void dataGridView_CurrentCellDirtyStateChanged(object sender, EventArgs e){ }// 在单元格完成编辑时发生private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e){}</span>
但是以上这几个事件都不能实现每次向单元格输入新的内容时发生。举个例子,我单击一个单元格,则单元格进入编辑状态,CellBeginEdit事件发生,然后我输入1,2……乃至更多的东西,上述的事件也不会发生。另外Key*系列的事件也试过,也没反应。
如果要像TextBox那样,每输入一个字符就发生一次的事件怎么办呢?可以用以下方法。原来dataGridView控件的单元格只是个容器,他可以容纳其他的控件,最一般的就是一个文本框。EditingControlShowing事件比上述事件还要早发生,他是dataGridView控件为了使用户可以编辑,而加载一个TextBox(如果单元格时复选框,是其他的控件,那么就加载对应的控件),加载TextBox时这个事件发生,可以在时间参数中获取这个TextBox的引用,动态注册一个事件即可。
<span style="font-size:18px;">// 当dataGridView控件加载一个子控件用于编辑时发生。private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e){ TextBox EditingTB = e.Control as TextBox; // 获取编辑用的文本框的引用 EditingTB.TextChanged += EditingTB_TextChanged; // 动态注册事件}// 当子控件的内容更改时发生private void EditingTB_TextChanged(object sender, EventArgs e){ String nowstr = (sender as TextBox).Text;}</span>要注意一点,这里的EditingTB应该保存下来,然后在CellEndEdit事件中注销事件。
0 0
- 【MARK】C# DataGridView控件单元格 未提交 内容改变事件
- dataGridView单元格内容更改事件
- C#控件:DataGridView合并单元格
- C#中datagridview使用tooltip控件显示单元格内容与datagridview自带的tooltip显示单元格内容的方法
- datagridview使用tooltip控件显示单元格内容
- C# Winform 中验证DataGridView单元格内容
- C# DataGridView 获取当前单元格输入内容
- C#中DatagridView单元格动态绑定控件
- [VB.NET]如何捕捉datagridview控件中combox内容改变的事件?
- c# winform datagridview 编辑单元格内容,没有保存编辑内容
- C#设置DataGridView某一具体单元格的内容居中显示
- DataGridView单元格单击事件,显示记录到控件
- 自定义 listview 中子控件内容改变界面未改变
- [转]C#控件——DataGridView单元格文本自动换行
- DataGridView改变选择的单元格
- C#在datagridview单元格中增加日期控件,实现单元格日期控件下拉
- C#在datagridview单元格中增加日期控件,实现单元格日期控件下拉
- C# Winform 中验证DataGridView单元格内容--限制单元格中只能输入数字
- 树莓派----03_安装QT5
- 数据结构也不是那么没意思之双向循环链表
- cf 687B Remainders Game (剩余定理)
- 电脑无法访问非本地IP地址的方法
- Flask-SQLAlchemy 快速入门
- 【MARK】C# DataGridView控件单元格 未提交 内容改变事件
- Android shape
- ubuntu线程的属性PTHREAD_CREATE_JOINABL和PTHREAD_CREATE_DETACHED
- 同步宝启示录
- 配置管理工作职责思考
- js隐藏table 列
- Linux 文件内容查看命令
- Leetcode-remove-duplicates-from-sorted-list
- 脏纱窗不用拆!小媳妇只用一张旧报纸,奇迹就发生了······