自定义键盘中上、下、左、右的事件

发布时间:2012/11/13 00:11 发布者:葡萄城产品团队

返回博客中心

Spread中提供了一些内置的键盘事件,我们在使用Spread的时候,可以选择使用默认的键盘事件,也可以自己定义键盘事件。

在不使用默认键盘事件时,我们一般使用下面的代码:

  1.   
    FarPoint.Win.Spread.InputMap im = new FarPoint.Win.Spread.InputMap();
    
       im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
    
       im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow); 
    
      
    
       im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
    
       im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow); 
    
    复制代码
    不过修改默认的上、下、左、右键的事件有些不同之处,需要使用下面的代码:[code]private void Form1_Load(object sender, EventArgs e)
        {
            FarPoint.Win.Spread.InputMap im = new FarPoint.Win.Spread.InputMap();

            im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Down, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Down, Keys.None), FarPoint.Win.Spread.SpreadActions.None);

        }
        protected override bool ProcessDialogKey(Keys keyData)
        {
            switch (keyData)
            {
                case Keys.Up:
                case Keys.Down:
                    return false;
            }
            return base.ProcessDialogKey(keyData);
        }
    [code]

    源码下载:
    VS2010 + Spread for WinForms 6.0.3503

4603_Inputmap.zip (9.87 K, 下载次数:28)

关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网