找回密码
 立即注册

QQ登录

只需一步,快速开始

ballaflying
论坛元老   /  发表于:2011-2-21 09:31  /   查看:7571  /  回复:9
模板如附件所示,如果焦点在第一个控件按钮上时, 按shift+Tab或者向上按钮,则清空这一行数据。主要想问如何在multirow中设置快捷键实现的功能.谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

9 个回复

倒序浏览
ballaflying
论坛元老   /  发表于:2011-2-21 10:26:00
沙发
斑竹,我就想问怎么抓住shift+Tab和向上箭头的事件,具体事件里面的无所谓。我现在就是没有头绪怎么设置,按下这个快捷键的方法。急急。非常感谢
回复 使用道具 举报
barrylei
中级会员   /  发表于:2011-2-21 10:44:00
板凳
用Control的KeyDown事件,如下。试一下看看能否解决你的问题?

  1.         private void multiRowSheet1_KeyDown(object sender, KeyEventArgs e)
  2.         {
  3.             if (e.KeyCode == Keys.Up)
  4.             {
  5.                 //在模板上把那个Button的Key设置成"払出"
  6.                 if (this.multiRowSheet1.ActiveCellKey == "払出")
  7.                 {
  8.                     this.multiRowSheet1.MRows[this.multiRowSheet1.ActiveMRowIndex].Clear(GrapeCity.Win.ElTabelle.DataTransferMode.DataOnly);
  9.                 }
  10.             }
  11.         }
复制代码
回复 使用道具 举报
ballaflying
论坛元老   /  发表于:2011-2-21 11:18:00
地板
啊,对就是不知道在那个事件里面写,那shift+Tab这个组合键怎么判断啊?
if (e.KeyCode ==???)  
{

}
key.Tab+key.shift??
回复 使用道具 举报
barrylei
中级会员   /  发表于:2011-2-21 11:26:00
5#
如下:

  1. private void multiRowSheet1_KeyDown(object sender, KeyEventArgs e)
  2.         {
  3.             if (e.KeyCode == Keys.Tab &&  e.Modifiers== Keys.Shift)
  4.             {
  5.                 //在模板上把那个Button的Key设置成"払出"
  6.                 if (this.multiRowSheet1.ActiveCellKey == "払出")
  7.                 {
  8.                     this.multiRowSheet1.MRows[this.multiRowSheet1.ActiveMRowIndex].Clear(GrapeCity.Win.ElTabelle.DataTransferMode.DataOnly);
  9.                 }
  10.             }
  11.         }
复制代码
回复 使用道具 举报
ballaflying
论坛元老   /  发表于:2011-2-21 14:41:00
6#
斑竹,我建立一个项目运行你给的代码,运行时我按下Key.Up是先进入multiRowSheet1_KeyDown函数运行。结果正确。但在源项目有 multiRowSheet1_LeaveCell和multiRowSheet1_KeyDown两个事件,运行时我按下Key.Up总是先进入multiRowSheet1_LeaveCell函数。而不是multiRowSheet1_KeyDown。他们之间有什么问题吗?有什么关联吗?
回复 使用道具 举报
ballaflying
论坛元老   /  发表于:2011-2-21 14:47:00
7#
当光标在Button上时,我按下Key.Up,进入LeaveCell函数,但这个函数中没有对Button做任何处理,然后执行完LeaveCell后,并没有执行KeyDown,执行就结束了。光标在MultiRow的最后一行的最后一个单元格中。知道为什么吗????
回复 使用道具 举报
barrylei
中级会员   /  发表于:2011-2-21 15:09:00
8#
附件是我的工程,我也添加了LeaveCell函数,里面什么也没有些,但是没有出现你说的情况。
你看一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ballaflying
论坛元老   /  发表于:2011-2-22 09:07:00
9#
我的确是存在这个问题,不过我将MultiRow绑定了快捷键,并制定了处理函数,在那个处理函数中写就可以啦
回复 使用道具 举报
ballaflying
论坛元老   /  发表于:2011-2-22 09:07:00
10#
非常感谢!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部