使用Spread仅需30行代码就实现计算器功能

仅用30行代码可以实现一个计算器的功能吗?答案是,当然可以,因为我们有Spread控件。Spread XAML控件(Spread WinRT和SpreadWPF-Silverlihgt)给我们带来了丰富的数据可视化和计算能力。可以创建自定义的计算器,动态交互式的仪表板程序,丰富多彩的报表等等。Spread所提供的API包括了Spread文档的完整对象模型,此外,还包括丰富的事件。Spread XAML控件包括功能强大的Spread设计器工具,通过设计器您可以创建和设计和Excel一模一样的用户界面,而且在设计时无须编写一行代码。您修改并保存电子表格模板之后,您可以运行时动态的加载这些模板到您的系统中。

发布于 2013/02/04 00:00

仅用30行代码可以实现一个计算器的功能吗?答案是,当然可以,因为我们有Spread控件。

Spread XAML控件(Spread WinRT和SpreadWPF-Silverlihgt)给我们带来了丰富的数据可视化和计算能力。可以创建自定义的计算器,动态交互式的仪表板程序,丰富多彩的报表等等。Spread所提供的API包括了Spread文档的完整对象模型,此外,还包括丰富的事件。Spread XAML控件包括功能强大的Spread设计器工具,通过设计器您可以创建和设计和Excel一模一样的用户界面,而且在设计时无须编写一行代码。您修改并保存电子表格模板之后,您可以运行时动态的加载这些模板到您的系统中。

下面将要展示的这个例子如何使用Spread设计器以及30行中有的代码来实现一个计算器,本文使用的是Spread WinRT控件。

 

首先,我们在VS2012中创建一个Window Store App工程:

然后将GcSpreadSheet控件添加到设计界面:

在控件上点击右键,选择Create a new document菜单项,然后会自动创建一个名为spreadsheet1.ssxaml文档,并自动设置到DocumentUri属性中:

然后,Spread设计器将会自动打开,然后您可以设计一个计算器的用户界面,最终效果如下:

接下来,我们添加CellClick事件,代码如下:

<UI:GcSpreadSheet x:Name="gcSpreadSheet1" Width="490" Height="730" DocumentUri="ms-appx:///Spread Documents/spreadsheet1.ssxml" CellClick="gcSpreadSheet1_CellClick"/>

void gcSpreadSheet1_CellClick(object sender, CellClickEventArgs e)
{
    var sheet = this.gcSpreadSheet1.ActiveSheet;
    if (e.Column == 4 && e.Row == 7) //=
    {
        sheet[2, 1].Formula = "";
        try
        {
            sheet[2, 1].Formula = sheet[1, 1].Text;
        }
        catch
        {
            sheet[2, 1].Text = "Invalid Formula!";
        }
    }
    else if (e.Column == 1 && e.Row == 3) //C
    {
        sheet[1, 1].ResetText();
        sheet[2, 1].ResetText();
        sheet[2, 1].Formula = "";
    }
    else if (e.Column == 3 && e.Row == 3) //BS
    {
        var txt = sheet[1, 1].Text;
        if (txt == string.Empty) return;
        sheet[1, 1].Text = txt.Substring(0, txt.Length - 1);
    }
    else if (e.Column > 0 && e.Column < 5 && e.Row > 3 && e.Row < 9) //digits and signs
    {
        sheet[1, 1].Text = sheet[1, 1].Text + sheet[e.Row, e.Column].Text;
        sheet[2, 1].ResetText();
        sheet[2, 1].Formula = "";
    }
}

 

最终运行效果如下:

Spread WPF-Silverlight 产品介绍:

http://www.grapecity.com.cn/developer/Spwpf_overview.htm

源码下载:

 

 

App7.zip (24.81 kb)

关于葡萄城

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

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

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

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