请教:如何让DataGrid中添加的控件支持箭头键? 我在后台定义了TextBox和ComboBox控件,根据条件判断当点击DataGrid的单元格显示其中一个控件实现内容的修改,可是现在有一个问题,就是我的TextBox和ComboBox控件不支持箭头键,当按下箭头键时焦点会跳到旁边的单元格,请问如何解决这个问题?谢谢高手指点! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说明:上面的问题是WinForm的DataGrid。另外还有一个问题:在Winform的DataGrid如何让它不显示能够新增加的那行?就是说我有多少内容就显示多少,不需要新增行 ((DataTable)DataGrid.DataSource).DefaultView.AllowEdit = false; 楼上这位大哥的方法不能解决我的问题啊,我只是要求DataGrid的单元格中控件能支持箭头键,而不是按下箭头键就在单元格之间移动。有哪位大侠知道的,请教交我 啊!多谢了。 在Winform的DataGrid如何让它不显示能够新增加的那行?就是说我有多少内容就显示多少,不需要新增行这个可以用 DataTable.DefaultView.AllowNew = false; 谢谢楼上的,这个问题我已经解决了。关键是我需要在其中的TextBox获得箭头键,而让DataGrid的cell之间不支持箭头键的移动。 键头的问题:你要从DataGrid继承一个类,在类写重载下面的方法protected override bool ProcessKeyPreview(ref Message m){ int WM_KEYDOWN=0x0100; Keys keyCode = (Keys)(int)m.WParam & Keys.KeyCode; if(m.Msg == WM_KEYDOWN) { if(keyCode == Keys.Down || keyCode == Keys.Up) { DataGridTableStyle curStyle = //获取当前样式,自己写 if(curStyle != null) { if(curStyle.GridColumnStyles[this.CurrentCell.ColumnNumber] is DataGridTextBoxColumn) { return false; } } } } return base.ProcessKeyPreview(ref m);}10分太少了 MyLf(愿望树) :谢谢。 我给帖子加分了:) 视频中抽取图片 c#自定义函数 serialport的readexisting函数的问题 ***100分***问线程的奇怪问题 如何看到http://www.10jqka.com.cn/flash/和服务器通信的数据呢? C#中WINFORM繼承問題 c# 请教读写大文件的问题 我怎么设置不了ChildForm的StartPosition c# 使用WMI获取网卡 求正则表达式,匹配未闭合的Html标签 在winform下的treeview问题。如何绑定3个表?? c#的b/s程序,连接access数据库?
另外还有一个问题:在Winform的DataGrid如何让它不显示能够新增加的那行?就是说我有多少内容就显示多少,不需要新增行
有哪位大侠知道的,请教交我 啊!多谢了。
关键是我需要在其中的TextBox获得箭头键,而让DataGrid的cell之间不支持箭头键的移动。
你要从DataGrid继承一个类,在类写重载下面的方法
protected override bool ProcessKeyPreview(ref Message m)
{
int WM_KEYDOWN=0x0100;
Keys keyCode = (Keys)(int)m.WParam & Keys.KeyCode;
if(m.Msg == WM_KEYDOWN)
{
if(keyCode == Keys.Down || keyCode == Keys.Up)
{
DataGridTableStyle curStyle = //获取当前样式,自己写
if(curStyle != null)
{
if(curStyle.GridColumnStyles[this.CurrentCell.ColumnNumber] is DataGridTextBoxColumn)
{
return false;
}
}
}
}
return base.ProcessKeyPreview(ref m);
}10分太少了
我给帖子加分了:)