winform datagrid问题!请高手做答!

xxuu503 2005-02-23 09:21:00
datagrid中的datagridtextbox占据了焦点,就无法触发datagrid的keypress事件了,怎么办?
而且datagrid也无法占据焦点
...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxuu503 2005-02-25
  • 打赏
  • 举报
回复
datagridtextbox的回车没法子触发阿
hamadou 2005-02-24
  • 打赏
  • 举报
回复
其实这是因为当datagrid获得焦点时光标落在了datagrid中第一行第一列的网格(textbox)上,(注意:不是textbox中,)所以我们要对这个网格的keypress事件与我们自己的事件进行关联。

Dim ts As New DataGridTableStyle()
Dim aColumnTextColumn As DataGridTextBoxColumn '在这里只对一列进行了绑定
DataGrid1.DataSource = dt
ts.MappingName = dt.TableName
aColumnTextColumn = New DataGridTextBoxColumn()
AddHandler aColumnTextColumn.TextBox.KeyPress, AddressOf Column_KeyPress '让列中的单元格来响应KeyPress事件
aColumnTextColumn.HeaderText = "姓名"
aColumnTextColumn.MappingName = “name”
ts.GridColumnStyles.Add(aColumnTextColumn) '增加一种自定义的column风格
DataGrid1.TableStyles.Add(ts) '增加一种自定义的表风格
‘事件处理程序,同样适用于其它Textbox用于数值框处理的情况。
Private Sub Column_KeyPress(ByVal sender As Object, _ByVal e As System.Windows.Forms.KeyPressEventArgs)
MsgBox("You have pressed the " & e.KeyChar)
end sub

xxuu503 2005-02-24
  • 打赏
  • 举报
回复
谢谢

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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