在winform中,如何敲击回车响应datagridview控件中的按钮列呢?

天下第一刀2020 2009-03-26 09:18:57
我在datagirdview控件最后一列中添加了一个按钮,用来添加把一行的数据添加导数据库中。
由于我做了如下处理:
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If keyData = Keys.Enter Then
SendKeys.Send("{Tab}")
Return True
End If
End Function
当我敲击回车时,datagridview就会跳转到新的一行中,导致我的按钮失效。我应该怎么处理啊!
我尝试了一下,用鼠标可以。按钮事件如下:
Private Sub SchoolInfo_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles SchoolInfo.CellContentClick
If e.ColumnIndex = 10 Then
MsgBox("a")
End If
End Sub
请高手帮忙解答一下吧!
...全文
215 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我主要是担心在数据录入过程中出现意外情况,所以才这么做的!
老潇 2009-03-26
  • 打赏
  • 举报
回复
为什么要一行一行的保存啊?
做判断啊,当前行是不是第一行
surlew 2009-03-26
  • 打赏
  • 举报
回复
判断你的当前行是否是你datagridview的最大行

你为什么要一行一行添加呢
你把datagridview的数据全部改好了,放一个button上去,一次性全部保存不可以么?
  • 打赏
  • 举报
回复
怎么判断啊?
如果不用button按钮,有没有变通的方法。我现在主要是在datagridview中一行一行地添加数据。
surlew 2009-03-26
  • 打赏
  • 举报
回复
不行啊,栈溢出!

在最后一行的时候,你要判断下,不能执行了,因为你的是绑定的数据源
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 surlew 的回复:]
C# code
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
//判断键盘按下的键。如果等于“enter”,则send一个“{tab}”。模拟按下“tab”键,实现单元格。向下移动
if (keyData == Keys.Enter)
{
System.Windows.Forms.SendKeys.Send("{tab}");
return true;
}

//继续原来base.Pro…
[/Quote]

不行啊,栈溢出!
格拉 2009-03-26
  • 打赏
  • 举报
回复
自己判断呗
david_anwei 2009-03-26
  • 打赏
  • 举报
回复
为什么要用按钮呢!换种思路怎么样!比如说编辑完后 选择的行发生改变的时候!
surlew 2009-03-26
  • 打赏
  • 举报
回复

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
//判断键盘按下的键。如果等于“enter”,则send一个“{tab}”。模拟按下“tab”键,实现单元格。向下移动
if (keyData == Keys.Enter)
{
System.Windows.Forms.SendKeys.Send("{tab}");
return true;
}

//继续原来base.ProcessCmdKey中的处理
return base.ProcessCmdKey(ref msg, keyData);
}
PandaIT 2009-03-26
  • 打赏
  • 举报
回复
VB

不会

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧