麻烦看一下,为什么不执行回车事件??

jc15271149 2006-02-07 06:58:29
DataGridTableStyle ts = new DataGridTableStyle();
ts.MappingName = ds.Tables[0].TableName;

DataGridTextBoxColumn tbc1 = new DataGridTextBoxColumn();
tbc1.MappingName = "营业员编号";
tbc1.HeaderText = "1";
tbc1.TextBox.KeyDown += new KeyEventHandler(this.Column_KeyDown);
ts.GridColumnStyles.Add(tbc1);

DataGridTextBoxColumn tbc2 = new DataGridTextBoxColumn();
tbc2.MappingName = "营业员姓名";
tbc2.HeaderText = "2";
tbc2.TextBox.KeyDown += new KeyEventHandler(this.Column_KeyDown);
ts.GridColumnStyles.Add(tbc2);

dataGrid1.TableStyles.Add(ts);

dataGrid1.DataSource = ds.Tables[0].DefaultView;
-----------------------------------------
private void Column_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
{
this.SalesPeople = dataGrid1[dataGrid1.CurrentCell.RowNumber,0].ToString();
this.DialogResult = DialogResult.OK;
}
}
...全文
269 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jc15271149 2006-02-08
  • 打赏
  • 举报
回复
我重写了ProcessCmdKey方法,把Enter改成E键,可以实现,不过就是觉得不是很理想,能不能在ProcessCmdKey中屏蔽Enter?

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
// TODO: 添加 UserControl1.ProcessCmdKey 实现
int WM_KEYDOWN = 256;
int WM_SYSKEYDOWN = 260;
if((msg.Msg==WM_KEYDOWN)||(msg.Msg==WM_SYSKEYDOWN))
{
switch(keyData)
{
case Keys.Enter:
SendKeys.Send("{E}");
return true;
}
}
return base.ProcessCmdKey (ref msg, keyData);
}
}
----------------------------------
private void Column_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyCode == Keys.E)
{
this.SalesPeople = dataGrid1[dataGrid1.CurrentCell.RowNumber,0].ToString();
this.DialogResult = DialogResult.OK;
}
}
zhy0101 2006-02-08
  • 打赏
  • 举报
回复
Form.KeyPreview 属性
如果窗体将接收所有键事件,则为 true;如果窗体上当前选定控件接收键事件,则为 false。默认值为 false。

jc15271149 2006-02-08
  • 打赏
  • 举报
回复
怎么找到ProcessCmdKey方法?
jc15271149 2006-02-08
  • 打赏
  • 举报
回复
晕,能不能不重写ProcessCmdKey?
jc15271149 2006-02-08
  • 打赏
  • 举报
回复
谁有好点的解决方案
xhsr 2006-02-07
  • 打赏
  • 举报
回复
Key.Enter 键被 DataGrid 控件拦截了。从 DataGrid 控件继承重写 ProcessCmdKey 方法。
jc15271149 2006-02-07
  • 打赏
  • 举报
回复
D
aaaa250 2006-02-07
  • 打赏
  • 举报
回复
this.SalesPeople是窗体的一个属性
mark44404 2006-02-07
  • 打赏
  • 举报
回复
this.SalesPeople ????
jc15271149 2006-02-07
  • 打赏
  • 举报
回复
在Excel使用过程中,运用一些技巧会使得我们的工作效率提高很多。而这些技巧往往又被忽略或忘记怎么去使用。本套课程基于此整理了一些Excel方面的技巧,这些呢为学习笔记集锦,前后章内容不存在连贯性,仅整理一些常用的技巧与大家分享。【说明:Excel为2013版本,无下载资料,请参看课程视频学习。】l  本课程知识点l  第1节:概述l  第2节:Excel大批量数据自动填写灵活妙用经验分享l  第3节:巧为Excel2013单元格的文本内容增加拼音l  第4节:Excel在单元格内实现自动换行l  第5节:Excel快速使用函数计算不同区域数据l  第6节:Excel单元格超长内容不能显示全巧妙设置l  第7节:巧妙运用之Excel单元格中自动快速输入带有小数点的数值l  第8节:Excel巧妙使用回车键快速粘贴l  第9节:职场必会Excel函数经典应用,使用And函数多条件判断l  第10节:Excel函数经典应用之IF函数条件判断范例l  第11节:Excel技巧之巧妙使用不同颜色区分不同类型数据l  第12节:巧妙快速调整Excle所有单元格或局部单元格l  第13节:巧妙快速切换Excel单元格回车后的纵向输入和横向输入l  第14节:巧妙理解记忆Excel公式中的相对引用和绝对引用l  第15节:Excel单元格文风快速两端对齐l  第16节:Excel2013文档内容快速居中打印l  第17节:excel直接使用模板制作精美格式样式l  第18节: excel使用中可以直接使用翻译功能中英文互译l  第19节:不需要截图工具直接使用excel复制图片l  第20节:excel粘贴也可以多种方式选择了l  第21节:巧为excel单元格画双划线l  第22节:为excel的文字或数字添加单划线或双划线l  第23节:excel连续微调单元格内容字号的大小l  第24节: 快速的将长文本内容变为自适应多行文本l  第25节:excel多单元格合并居中l  第26节:单元格内容连续微调缩进量l  第27节:将文本内容倾斜到任意角度l  第28节:单元格内容多种形式的对齐方式l  第29节:快速将数据转换为会计专用数据l  第30节:快速为数据增加或减少小数位数

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧