可以模仿控件
1。在Form or picturebox里面放置label for text,image for picture,etc.
2。设置这些label, image的field and tag属性
3。用程序遍历Form中所有要打印的控件,读出其相应的字段,位置,字体等
4。再用程序将数据库中的数据按照以上的摸板print到另一个Form上作为预览
5。同上,也可以print到printer上

解决方案 »

  1.   

    那么多的label是不是会很慢啊?
      

  2.   

    用报表设计器即可,自己写报表效率要比现有的报表设计器差得多。VB的效率不可能超过VC。况且字报表,交叉表,分组合计等等自己写实在太麻烦。
      

  3.   

    对 Printer 对象编程吧!
      

  4.   

    同意楼上的意见,用printer可以很方便地控制打印
      

  5.   

    我提个思路看能不能用上,因为我也曾为这发过愁,我的做法是用WORD做成一个HTML文挡,然后把他的源码拷贝到我的程序中,把需要变动的数据用变量来替代,然后生成该文挡,最后调用WORD来打印该文挡即可。本做法适用于复杂的报表设计,缺点是当报表超过一页时不好控制。
      

  6.   

    我以前试过用VB编写打印代码,比较复杂,但是功能比较齐全!
    用PICTUREBOX和PRINTER实现。