怎么解决操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用问题
来源:互联网 发布:人工蜂群算法及其应用 编辑:程序博客网 时间:2024/06/12 01:43
在开用Datagridview时处理keypress事件有时出现
操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用。
解决方法如下 ==============================================
************** Exception Text **************
System.InvalidOperationException: 操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用。
在 System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick)
public partial class DgvNumberOnlyColumn : Form
{
public DgvNumberOnlyColumn()
{
InitializeComponent();
}
private void DgvNumberOnlyColumn_Load(object sender, EventArgs e)
{
this.dataGridView1.Columns.Add("col1", "col1");
this.dataGridView1.Columns.Add("col2", "col2");
this.dataGridView1.Rows.Add();
this.dataGridView1.EditingControlShowing += new
DataGridViewEditingControlShowingEventHandler(
dataGridView1_EditingControlShowing);
}
void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (this.dataGridView1.CurrentCell.ColumnIndex == 0)
{
if (e.Control is TextBox)
{
TextBox tb = e.Control as TextBox;
tb.KeyPress -= new KeyPressEventHandler(tb_KeyPress);
tb.KeyPress += new KeyPressEventHandler(tb_KeyPress);
}
}
}
void tb_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(char.IsDigit(e.KeyChar)))
{
Keys key = (Keys)e.KeyChar;
if (!(key == Keys.Back || key == Keys.Delete))
{
e.Handled = true;
}
}
}
}
- 怎么解决操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用问题
- 操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用。
- 操作无效,原因是它导致对SetCurrentCellAddressCore函数的可重入调用
- 解决:对 PInvoke 函数的调用导致堆栈不对称问题
- 解决:对 PInvoke 函数的调用导致堆栈不对称问题
- 解决:对 PInvoke 函数的调用导致堆栈不对称问题
- 解决:对 PInvoke 函数的调用导致堆栈不对称问题
- 解决:对 PInvoke 函数的调用导致堆栈不对称问题
- DataGridView报错: SetCurrentCellAddressCore 函数的可重入调用
- WinForm解决多线程操作控件问题 线程间操作无效: 从不是创建控件的线程访问它"
- invoke委托解决“线程间操作无效: 从不是创建控件的线程访问它”的问题
- 后台线程与UI线程问题:解决“线程间操作无效: 从不是创建控件xxx的线程访问它”
- 教你如何解决“线程间操作无效: 从不是创建控件的线程访问它”
- 教你如何解决“线程间操作无效: 从不是创建控件的线程访问它”
- BackGroundWorker解决“线程间操作无效: 从不是创建控件的线程访问它”
- BackGroundWorker解决 线程间操作无效: 从不是创建控件的线程访问它
- 教你如何解决“线程间操作无效: 从不是创建控件的线程访问它”
- 如何解决“线程间操作无效: 从不是创建控件的线程访问它”
- Silverlgiht鼠标画直线方法
- 给对话框添加菜单栏和状态栏,在状态栏显示菜单提示。并响应菜单更新命令
- WASCE trouble shooting
- 菜鸟讲解as3自定义事件,类间通信.
- COM编程入门 第二部分——深入COM服务器
- 怎么解决操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用问题
- sed 的使用(五)
- visual studio使用技巧
- CD资料
- 盖普日本丰田精益生产研修之旅
- DES算法
- UNIX Shell 编程(6)
- EMCA命令解析
- 删除事件查看器中多余的日志分类