http://www.syncfusion.com/FAQ/WinForms/default.asp#44
解决方案 »
- 急急急..在线等待(c#中怎么对Gridview绑定的视图做修改。)
- 有一组带有坐标和大小的数据,如何用C#编程实现在窗体显示
- 求救:如何将VB.net 下写的过程 转为 C#下的过程?
- switch case 中如何判断条件是否在一个范围?
- 在winForm的程序里,如何在datagrid中插入comobox?
- 200分请教webbrowser控件问题!!up有分!
- 如何去掉html代码中的标签和script
- 在套接字编程中,将Listen()侦听数量置为1,仍允许一个以上的客户端连接
- 如何获取某个对象的某个字段的名称字符串
- 又一个C#操作Excel的问题
- 关于。net 框架的问题 散分中
- C#中,如何截取字符串。
不离开datagrid的时候怎么触发呢?
而且datagrid只有一行,不能添加新行的情况下!
vb.net做法如下,仅供参考.(不是原著,学习别人的而已)
步骤一:在vs.net编辑器中,“文件”->“新建”->“项目”,然后选择新建一个“Windows控件库”的项目:HenryDatagrid。这样运行的结果会生成一个DLL文件,而不是EXE执行文件;步骤二:在HenryDatagrid.vb文件代码编辑窗口中加入有阴影的这句话:Public Class HenryDatagridInherits System.Windows.Forms.DataGrid ‘这表示新建的控件是Datagrid的派生控件步骤三:在“类名”窗口中选择overrides,然后在“方法名称”窗口选择“ProcessCmdKey"然后就会出现一段空的ProcessCmdKey代码段,我们可以写入自己的代码:Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean Dim WM_KEYDOWN As Integer = 256 ‘消息响应的问题可以参考其他win32编程的文章 Dim WM_SYSKEYDOWN As Integer = 260 If ((msg.Msg = WM_KEYDOWN) Or (msg.Msg = WM_SYSKEYDOWN)) Then Select Case keyData Case Keys.Down MsgBox("截到下箭头键") Return True Case Keys.Up MsgBox("截到上箭头键") Return True Case Keys.Enter SendKeys.Send("{Tab}") Return True Case Keys.Control + Keys.M MsgBox("<CTRL> + m 组合键被截获") Return True Case Keys.Alt + Keys.Z MsgBox("<ALT> + z 组合键被截获") Return True End Select End If End Function 然后运行一下,生成HenryDatagrid.dll文件步骤四:再建立一个项目,然后在新项目的设计窗口的工具箱上单击鼠标右键,在弹出菜单中选择“添加引用”,然后在.net选项卡中占击“浏览”,选择到HenryDatagrid.dll,加入进来,然后您的工具箱上会多出一个HenryDatagrid的图标,在新项目中使用HenryDatagrid来代替datagrid控件。看一下,您所需要的“Enter跳格”事件就这样完成了。
up...........
up...........