winform的datagridview单元格输入限制和右键单击datagridview单元格焦点跟着改变
在datagridview的EditingControlShowing事件里面添加代码:
if (this.dgv_pch.Columns[dgv_pch.CurrentCell.ColumnIndex].HeaderText == "批内序号")//判断是哪列的单元格需要限制
{
(dgv_pch.Columns[dgv_pch.CurrentCell.ColumnIndex] as DataGridViewTextBoxColumn).MaxInputLength = 4;//限制只能输入内容长度为4
e.Control.KeyPress += new KeyPressEventHandler(EditingControl_KeyPress);//限制只能输入数字
//e.Control.KeyPress -= new KeyPressEventHandler(EditingControl_KeyPress);
}
//限制只能输入数字和.和backspace
private void EditingControl_KeyPress(object sender, KeyPressEventArgs e)
{
int keyValue = (int)e.KeyChar;
if ((keyValue >= 48 && keyValue <= 57) || keyValue == 8 || keyValue == 46)
{
if (sender != null && sender is TextBox && keyValue == 46)
{
if (((TextBox)sender).Text.IndexOf(".") >= 0)
e.Handled = true;
else
e.Handled = false;
}
else
e.Handled = false;
}
else
e.Handled = true;
}
//只能输入数字和backspace
private void EditingControl_KeyPress(object sender, KeyPressEventArgs e)
{
if (Convert.ToInt32(e.KeyChar) == 8)
{
e.Handled = false;
}
else
{
Regex numRegex = new Regex(@"^(-?[0-9])$"); // 匹配正则表达式
Match result = numRegex.Match(Convert.ToString(e.KeyChar));
if (result.Success) // 输入的不是数字
{
e.Handled = false; // textBox内容不变
}
else
{
e.Handled = true; // 将现在textBox的值保存下来
}
}
}
//右键单击datagridview的单元格,单元格焦点跟着改变
//在datagridview的CellMouseDown事件里面写
/// <summary>
/// 右键单击datagridview的单元格焦点跟着改变
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridView_book_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.RowIndex >= 0)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
dataGridView_book.ClearSelection();
dataGridView_book.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;
}
}
}
winform的datagridview单元格输入限制和右键单击datagridview单元格焦点跟着改变的更多相关文章
- WinForm中DataGridView验证单元格输入的是数字
转载:http://www.cnblogs.com/ganqiyin/archive/2013/02/18/2915491.html 事件:DataGridView验证单元格输入的是数字,DataGr ...
- C# 文本输入限制类型,datagridview单元格输入验证
1.只能输入double类型 private void textBoxX6_KeyPress(object sender, KeyPressEventArgs e) { { //数字0~9所对应的ke ...
- Excel01-不同的单元格输入同一数据
第一步:按住Ctrl键,选择不同的单元格 第二步:选择完最后一个单元格后,输入需要的数据“YES”,按Ctrl+Enter键结束. 提示:按Ctrl+; 输入当前日期,再按ctrl+Enter实现全部 ...
- (很难啊)如何实时获取DBGrid 中当前单元格输入的内容? [问题点数:100分,结帖人yifawu100]
如何获取DBGrid 中当前单元格输入的内容? 还没输入完成,我想实时获取 Cell中的内容,以便作其他处理,用什么事件呢? 所以Field的Onchange事件是没用的. DBGrid1.Selec ...
- DataGridView使用技巧一:获取或设置当前单元格的内容
当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得.如果当前单元格不存在的时候,返回null. 取得当前单元格的内容: o ...
- 如何实时获取DBGrid 中当前单元格输入的内容?
如何获取DBGrid 中当前单元格输入的内容? 还没输入完成,我想实时获取 Cell中的内容,以便作其他处理, 用什么事件呢? 所以Field的Onchange事件是没用的. 这个问题简单啊,每输入1 ...
- 用鼠标右键选择DataGridView单元格或行
在datagirdview_cellmousedown事件中先将CurrentCell(或CurrentRow)的Selected属性设为false,然后将鼠标右键点击的单元格(或行)设为Curren ...
- C# DataGridView在单元格提示里(ToolTip)显示完整的单元格内容
当单元格内容太多时,则会忽略后面的内容 解决方案: 添加Dgv鼠标移到单元格事件时,设置当前单元格的ToolTipText属性内容为当前单元格内容 void From_Load(object send ...
- 详解如何利用FarPoint Spread表格控件来构造Winform的Excel表格界面输入
我们先来简单了解一下WinForm和FarPoint,WinForm是·Net开发平台中对Windows Form的一种称谓.而FarPoint是一款模拟EXCEL的控件.它可以根据用户的要求实现很大 ...
随机推荐
- MYSQL C API : mysql_real_connect()
MYSQL * mysql_real_connect( MYSQL *mysql, const char *host, const char *user, const char *passwd, co ...
- [ActionScript 3.0] AS3 实现XML转换成JSON
package com.fylib.util { /** * @author Frost.Yen * @E-mail 871979853@qq.com * @create 2015-6-18 下午2: ...
- golang.org/x/mobile/exp/gl/glutil/glimage.go 源码分析
看这篇之前,建议先看之前几篇,这几篇是基础. Go Mobile 例子 basic 源码分析 http://www.cnblogs.com/ghj1976/p/5183199.html OpenGL ...
- gRPC 的 RoadMap 20160325 更新
gRPC是一个高性能.通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发 ...
- Codeforces 631C
题意:给定n和m. 给定一个长度为n的序列,m次操作. 接下来m次操作,每行第一个数若为1,则增序排列,若为2则降序排列,第二个数是排列的范围,即从第一个数排序到第某个数. 思路: 首先,对于其中范围 ...
- 【转】 ip段/数字,如192.168.0.1/24是什么意思?
http://blog.csdn.net/aerchi/article/details/39396423 ip段/数字,如192.168.0.1/24是什么意思? ip段/数字,如192.168.0. ...
- 清理SQL Server服务器名称列表
SQL2008: C:\Users\TQ\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin SQ ...
- JQuery基础教程:选择元素(上)
jQuery最强大的特性之一就是它能够简化在DOM中选择元素的任务,DOM中的对象网络与家谱有几分类似,当我们提到网络中元素之间的关系时,会使用类似描述家庭关系的术语,比如父元素.子元素,等等.通过一 ...
- Spring定时任务配置
可参照http://gong1208.iteye.com/blog/1773177 的详细配置 <!-- 系统定时任务工厂类 --> <bean id="systemDes ...
- SparkSQL使用之如何使用UDF
使用java开发一个helloworld级别UDF,打包成udf.jar,存放在/home/hadoop/lib下,代码如下: package com.luogankun.udf; import or ...