int i=datagrid1.CurrentCell.ColumnNumber;
int j=datagrid1.CurrentCell.RowNumber;datagrid1.CurrentCell = new DataGridCell(j,i+1);你去试试我上面的代码,可以的,我就是这么作的!
如果,关于回车事件还有疑问的,你再发消息给我!
int j=datagrid1.CurrentCell.RowNumber;datagrid1.CurrentCell = new DataGridCell(j,i+1);你去试试我上面的代码,可以的,我就是这么作的!
如果,关于回车事件还有疑问的,你再发消息给我!
if (e.KeyChar == 13)
{
SendKeys.Send("{Tab}");//处理回车换行。
}关于OnKeyPress问题在线等。
有人是放在DataGirdTextBox的KeyPress事件里、我试了还不行。晕!晕!晕!To easthuhu(郭靖): Enter能用了吗?
{
public KeyTextBox()
{
} const int WM_KEYDOWN = 0x100;
const int WM_KEYUP = 0x101;
const int WM_CHAR = 0x0102; public override bool PreProcessMessage( ref Message msg )
{
Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode;
if(msg.Msg == WM_KEYDOWN)
{
Console.WriteLine("TextBox.WM_KEYDOWN key: "+keyCode.ToString());
} if((msg.Msg == WM_KEYDOWN)
&& keyCode == Keys.Tab)
{
return true;
}
return base.PreProcessMessage(ref msg);
}
public class MyDataGridTextBoxColumnAboutKey : DataGridTextBoxColumn
{
private KeyTextBox _keyTextBox = null;
private System.Windows.Forms.CurrencyManager _source = null;
private int _rowNum;
private bool _isEditing = false;
public static int _RowCount = 0;
public DataGridKeyTrapTextBoxColumn() : base()
{
_keyTextBox = new KeyTextBox();
_keyTextBox.BorderStyle = BorderStyle.None; _keyTextBox.Leave += new EventHandler(LeaveKeyTextBox);
_keyTextBox.KeyPress += new KeyPressEventHandler(TextBoxEditStarted);
}
。
。
。
。
}