找回密码
 立即注册

QQ登录

只需一步,快速开始

coffee228

初级会员

4

主题

7

帖子

389

积分

初级会员

积分
389

活字格认证

最新发帖
coffee228
初级会员   /  发表于:2015-6-24 13:50  /   查看:4199  /  回复:2
在spread里面有如下图三个控件,在第一个控件中,输入code,按enter键,会在第二个combobox控件选出相应的值,再次点此enter键,光标会移动到第三个控件。(第二个控件的tabstop = false)。enter键既能选择combobox的值,又能实现光标移动,怎样才能实现这个功能呢,谢谢。
1.jpg (2.85 KB, 下载次数: 190)

2 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-6-24 17:56:00
沙发
您好,
我这边实现的思路是第一个控件触发一个CellChanged的方法,在里面设置combobox的值。
自定义enter的方式为,移动到下一个列。
  1.         public Form1()
  2.         {
  3.             InitializeComponent();
  4.             this.fpSpread1.Sheets[0].CellChanged += new FarPoint.Win.Spread.SheetViewEventHandler(Form1_CellChanged);
  5.             this.fpSpread1.Sheets[0].Cells[0, 1].TabStop = false;
  6.             InputMap im = new InputMap();
  7.             Keystroke keyStroke = new Keystroke(Keys.Enter, Keys.None);
  8.             im = fpSpread1.GetInputMap(InputMapMode.WhenFocused);
  9.             im.Put(keyStroke,SpreadActions.MoveToNextColumn);
  10.         }
  11.         void Form1_CellChanged(object sender, FarPoint.Win.Spread.SheetViewEventArgs e)
  12.         {
  13.             //this.fpSpread1.Sheets[0].Cells[0,1].c
  14.             if (this.fpSpread1.Sheets[0].Cells[0, 0].Value == null)
  15.                 return;
  16.             string s = this.fpSpread1.Sheets[0].Cells[0, 0].Value.ToString();
  17.             this.fpSpread1.Sheets[0].Cells[0, 1].Value = s;
  18.         }
复制代码

希望能够帮助到您。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-7 09:38:00
板凳
您好,
距离这个问题的最后回复已经过去了一段时间,不知道这个问题您是否已经解决?
如果没有解决,欢迎跟贴接续讨论,如果已经解决请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部