日期:2014-05-18  浏览次数:20638 次

流泪跪求~e.HasMorePages为什么就是不生效?
每页打印30次,超过30次换页打印。目前坐标部分应该是没问题的。如果不分页的话,会重复打印在同一个位置。
比如:打30个1,30个8,那么每块都会重复的打印上1和8两个数。但是分页没有效果,就只打了一页。我算了这个循环,如果一共要求打印 all_num =78 的话,那么头一次打印了30 e.HasMorePages = true, 78-30 = 48 e.HasMorePages,
48-30 = 18 循环终止,e.HasMorePages = false,应该没什么问题啊?打印预览的时候用messagebox跟踪的,print_all_page 分别为 78 48 18 然后结束。all_num 为 78看起来一切正常啊,为什么就是不分页呢?
C# code


//分页条件部分;
for (print_all_page = all_mun ; print_all_page > 30; print_all_page = print_all_page - 30)
            {
                 //每30打印页分页;
                 e.HasMorePages = true;    
            }
            lines = null;//回收释放字符串数组       
            e.HasMorePages = false;
            return;

//分页位坐标重设定部分

                        if (all_mun >= 30)
                        {
                            //多页打印位置重新定义
                            if (all_mun % 10 == 0)
                            {
                                if (all_mun % 30 == 0)
                                {
                                    //首格位置
                                    x = 50;
                                    y = 50;
                                }
                                else
                                {
                                    //打印10格换行
                                    x = 50;
                                    y = y + 50;
                                }
                            }
                            else
                            {
                                x = x + 50;
                            }
                        }
 all_mun = all_mun+ 1;      



------解决方案--------------------
什么啊?
------解决方案--------------------
什么嘛,如果e.HasMorePages = true;那么它会继续调这个事件,哪能你这样.