winfrom datagridview 我想做个功能 当datagridview 存在数据的时候 我直接把光标定位到datagridview 上面 进行键盘上下键移动操作 代替 用鼠标在datagridview 上去点击 这个怎么实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 C# WinFrom中DataGridView上下键控制选择单元格(代码示例)开发工具:VS2008数据库:Access4.0实现功能:用户可以使用“上、下”键选择DataGridView某行某列,并且将选择的单元格高亮显示。示例代码: /// <summary> /// 自定义存放显示DataGridView行数变量 /// </summary> private int tempCountNum = -1; /// <summary> /// 处理键盘弹起事件 /// </summary> /// <param name="e"></param> private void ProcessKeyUp(KeyEventArgs e) { if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down) { if (e.KeyCode == Keys.Up) { if (dgvResTable.Rows.Count > 0) { if (this.tempCountNum < 0) { this.tempCountNum = this.dgvResTable.Rows.Count; } if (tempCountNum > 0) { this.tempCountNum--; } this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"]; this.dgvResTable.BeginEdit(true); } } else if (e.KeyCode == Keys.Down) { if (dgvResTable.Rows.Count > 0) { if ( tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count) { tempCountNum++; if (tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count) { this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"]; this.dgvResTable.BeginEdit(true); } } } } } } datagridview本身就可以通过上下左右键来移动, CurrentCellChanged上下键事件或者参考:C# WinFrom中DataGridView上下键控制选择单元格(代码示例)开发工具:VS2008数据库:Access4.0实现功能:用户可以使用“上、下”键选择DataGridView某行某列,并且将选择的单元格高亮显示。示例代码: /// <summary> /// 自定义存放显示DataGridView行数变量 /// </summary> private int tempCountNum = -1; /// <summary> /// 处理键盘弹起事件 /// </summary> /// <param name="e"></param> private void ProcessKeyUp(KeyEventArgs e) { if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down) { if (e.KeyCode == Keys.Up) { if (dgvResTable.Rows.Count > 0) { if (this.tempCountNum < 0) { this.tempCountNum = this.dgvResTable.Rows.Count; } if (tempCountNum > 0) { this.tempCountNum--; } this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"]; this.dgvResTable.BeginEdit(true); } } else if (e.KeyCode == Keys.Down) { if (dgvResTable.Rows.Count > 0) { if ( tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count) { tempCountNum++; if (tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count) { this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"]; this.dgvResTable.BeginEdit(true); } } } } } } CurrentCellChanged上下键事件或者参考:C# WinFrom中DataGridView上下键控制选择单元格(代码示例)开发工具:VS2008数据库:Access4.0实现功能:用户可以使用“上、下”键选择DataGridView某行某列,并且将选择的单元格高亮显示。示例代码: /// <summary> /// 自定义存放显示DataGridView行数变量 /// </summary> private int tempCountNum = -1; /// <summary> /// 处理键盘弹起事件 /// </summary> /// <param name="e"></param> private void ProcessKeyUp(KeyEventArgs e) { if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down) { if (e.KeyCode == Keys.Up) { if (dgvResTable.Rows.Count > 0) { if (this.tempCountNum < 0) { this.tempCountNum = this.dgvResTable.Rows.Count; } if (tempCountNum > 0) { this.tempCountNum--; } this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"]; this.dgvResTable.BeginEdit(true); } } else if (e.KeyCode == Keys.Down) { if (dgvResTable.Rows.Count > 0) { if ( tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count) { tempCountNum++; if (tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count) { this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"]; this.dgvResTable.BeginEdit(true); } } } } } } 好垃圾 list<>迭代读取数据问题 (就20分了。全给了,别闲分少) 如何将vs2008中文版本改为英文版本 新手请教关于问题。。。。。 C#视频语音聊天Demo 帮讲解一下24点的算法! 怎么保存带双引号的字段到Access 备份数据库失败 出现操作系统错误 3(系统找不到指定的路径。)。 “菜鸟级”的问题,请有实际经验的朋友回答一下,谢谢 特急!怎么从string转换到byte[] abc中? 数据采集 嵌套div 正则匹配 求打开窗口自动最大化代码!
开发工具:VS2008数据库:Access4.0实现功能:用户可以使用“上、下”键选择DataGridView某行某列,并且将选择的单元格高亮显示。示例代码: /// <summary>
/// 自定义存放显示DataGridView行数变量
/// </summary>
private int tempCountNum = -1; /// <summary>
/// 处理键盘弹起事件
/// </summary>
/// <param name="e"></param>
private void ProcessKeyUp(KeyEventArgs e)
{
if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down)
{
if (e.KeyCode == Keys.Up)
{
if (dgvResTable.Rows.Count > 0)
{
if (this.tempCountNum < 0)
{
this.tempCountNum = this.dgvResTable.Rows.Count;
}
if (tempCountNum > 0)
{
this.tempCountNum--;
}
this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"];
this.dgvResTable.BeginEdit(true);
}
}
else if (e.KeyCode == Keys.Down)
{
if (dgvResTable.Rows.Count > 0)
{
if ( tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count)
{
tempCountNum++;
if (tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count)
{
this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"];
this.dgvResTable.BeginEdit(true);
}
}
}
}
}
}
或者参考:
C# WinFrom中DataGridView上下键控制选择单元格(代码示例)
开发工具:VS2008数据库:Access4.0实现功能:用户可以使用“上、下”键选择DataGridView某行某列,并且将选择的单元格高亮显示。示例代码: /// <summary>
/// 自定义存放显示DataGridView行数变量
/// </summary>
private int tempCountNum = -1; /// <summary>
/// 处理键盘弹起事件
/// </summary>
/// <param name="e"></param>
private void ProcessKeyUp(KeyEventArgs e)
{
if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down)
{
if (e.KeyCode == Keys.Up)
{
if (dgvResTable.Rows.Count > 0)
{
if (this.tempCountNum < 0)
{
this.tempCountNum = this.dgvResTable.Rows.Count;
}
if (tempCountNum > 0)
{
this.tempCountNum--;
}
this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"];
this.dgvResTable.BeginEdit(true);
}
}
else if (e.KeyCode == Keys.Down)
{
if (dgvResTable.Rows.Count > 0)
{
if ( tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count)
{
tempCountNum++;
if (tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count)
{
this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"];
this.dgvResTable.BeginEdit(true);
}
}
}
}
}
}
或者参考:
C# WinFrom中DataGridView上下键控制选择单元格(代码示例)
开发工具:VS2008数据库:Access4.0实现功能:用户可以使用“上、下”键选择DataGridView某行某列,并且将选择的单元格高亮显示。示例代码: /// <summary>
/// 自定义存放显示DataGridView行数变量
/// </summary>
private int tempCountNum = -1; /// <summary>
/// 处理键盘弹起事件
/// </summary>
/// <param name="e"></param>
private void ProcessKeyUp(KeyEventArgs e)
{
if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down)
{
if (e.KeyCode == Keys.Up)
{
if (dgvResTable.Rows.Count > 0)
{
if (this.tempCountNum < 0)
{
this.tempCountNum = this.dgvResTable.Rows.Count;
}
if (tempCountNum > 0)
{
this.tempCountNum--;
}
this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"];
this.dgvResTable.BeginEdit(true);
}
}
else if (e.KeyCode == Keys.Down)
{
if (dgvResTable.Rows.Count > 0)
{
if ( tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count)
{
tempCountNum++;
if (tempCountNum >= 0 && tempCountNum < dgvResTable.Rows.Count)
{
this.dgvResTable.CurrentCell = this.dgvResTable.Rows[this.tempCountNum].Cells["NUM"];
this.dgvResTable.BeginEdit(true);
}
}
}
}
}
}