自定义Spread中快捷键行为

本文简单介绍如何实现自定义的Delete键快捷行为,我们实现的功能是按下Delete时,只清空单元格的Value,不清空单元格的样式设置,如果单元格处于锁定状态不进行清空操作,

发布于 2012/11/13 00:00

Spread中本身内置了很多快捷键操作,不过有时候我们也需要实现一些自定义的快捷键行为,在Spread中只需继承FarPoint.Win.Spread.Action就可以实现自定义的快捷键。

本文简单介绍如何实现自定义的Delete键快捷行为,我们实现的功能是按下Delete时,只清空单元格的Value,不清空单元格的样式设置,如果单元格处于锁定状态不进行清空操作,代码实现如下:
  1.     
    public class ClearValueAction : FarPoint.Win.Spread.Action
    
        {
    
            public override void PerformAction(object source)
    
            {
    
                if (source is SpreadView)
    
                {
    
                    SpreadView spread = (SpreadView)source;
    
                    SheetView sheet = spread.Sheets[spread.ActiveSheetIndex];
    
                    CellRange cr = sheet.GetSelection(0);
    
                    StyleInfo si = new StyleInfo();
    
    
    
                    for (int r = 0; r < cr.RowCount; r++)
    
                    {
    
                        for (int c = 0; c < cr.ColumnCount; c++)
    
                        {
    
                            sheet.Models.Style.GetCompositeInfo(cr.Row + r, cr.Column + c, -1, si);
    
                            if (!si.Locked)
    
                            {
    
                                sheet.Cells[cr.Row + r, cr.Column + c].ResetValue();
    
                            }
    
                        }
    
                    }
    
                }
    
            }
    
        }
    
    复制代码
    给Spread添加自定义的快捷键:
  1.   
    private void Form1_Load(object sender, EventArgs e)
    
        {
    
            InputMap im = fpSpread1.GetInputMap(InputMapMode.WhenFocused);
    
            ActionMap am = fpSpread1.GetActionMap();
    
            im.Put(new Keystroke(Keys.Delete, Keys.None), "ClearValue");
    
            am.Put("ClearValue", new ClearValueAction());
    
        }
    
    复制代码
    源码下载:VS2010 + Spread .NET 6.0.3505

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态