• 全部
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

winform datagrid问题!请高手做答!

xxuu503 2005-02-23 09:21:00
datagrid中的datagridtextbox占据了焦点,就无法触发datagrid的keypress事件了,怎么办?
而且datagrid也无法占据焦点
...全文
86 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过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
谢谢
回复
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2005-02-23 09:21
社区公告
暂无公告