大家知道,在WinForm开发的系统中,有Header-Detail的结构不少,比如订单、发货单、凭证等等,基本都是Header-Detail结构,而在C#中要开发这样的程序还真有点麻烦,可能是新东西刚出来,要解决这样问题,还真有点烦!同时一般比较好的系统中,你不用Mouse,用键盘就可以操作整个系统。为此,本人专门花了点时间来研究这个问题的解决方案,以和大家共享!
1、首先是换行问题!
DataGridView中,你输入数据,按回车,不会跳到下一列去,而是跳到下一行,如果你想通过KeyPress,KeyDown,KeyUp事件达到目的,好像没什么反应。于是我想肯定有其他的方法可以解决。就到微软的网站上去查,果然有相关情况的介绍,但还是达不到我要的,于是改造一下,就OK了。
基本解决方法如下:
using
System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
... {
public class CustomDataGridView : DataGridView
...{
protected override bool ProcessDialogKey(Keys keyData)
...{
Keys key = (keyData & Keys.KeyCode);
if (key == Keys.Enter)
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
... {
public class CustomDataGridView : DataGridView
...{
protected override bool ProcessDialogKey(Keys keyData)
...{
Keys key = (keyData & Keys.KeyCode);
if (key == Keys.Enter)