现在要做一个票据打印软件.目前主要问题卡在了: 票据模板如何做. 由于目前市面上各式各样的票据种类太多,想做一个开放式的软件, 有什么新票据出来. 把模板发个用户 由用户导入就可以使用.  这样就要求开票界面必须只有一个,界面上的控件信息也需要放入模板导入,票据背景图片也需要放入模板中.  那么界面上的事件以及每个控件的事件如何处理呢?难道每个控件的事件也需要放入模板中吗?  这样别人就可以看到源代码了.   大家有什么好的建议吗?

解决方案 »

  1.   

    实际上最好是利用Excel表格的方式来实现套打,如果是c/s的会容易一些,看看csdn上长江之流发布的一个Excel操作程序,可以参考下
      

  2.   

    从项目上说建议LZ就打印功能新建一个DLL项目,并将项目所能支持的发票种类等相关信息以属性的形式写在项目中,当有新的发票种类提供时只要将项目生成的DLL发给用户就可以了。
    就具体操作来说,可以用工厂模式设计一个类,该类负责生成你要的类,具体代码请参见petshop4.0的DALFactory项目,相关资料在网上很多,在这里我就不罗嗦了。
      

  3.   

    实在不行的话,只能把每个模板单独做成exe文件.   当有新模板时候只要把exe文件发给用户,用户做个导入操作. 这样就可以通过主程序调用exe文件. 
    但是这样的话对系统性能一定有很大影响吧?
      

  4.   


    报表打印控件wsReport4.6 
      

  5.   

    可以用Teamsuite安装VSTO,就可以office开发了,可以在Excel上添加控件
      

  6.   

    像FastReport、XtraReport都提供可以由用户自定义报表模板,用户直接从数据库绑定数据,并且做自己任何想要修改
      

  7.   

    看长江支流兄弟的金质打印...
    用XML.
      

  8.   

    最后想法, 把每种票据单独制作一个dll文件,包括 界面 控件 背景图片 报表文件等信息, 如果有新票据,直接把票据dll发给用户。 在系统做个导入票据的功能。