网上关于打印分页的文章已经很多了,但大部分都没讲清楚HasMorePages这个属性的作用到底是什么。
它的作用很容易产生误解,但也很好理解:当PrintPage函数执行完后,如果HasMorePages==true,则重新执行一遍PrintPage这个函数。只要明白了这一点,打印分页就很简单了。
在打印时,可以把打印位置保存下来,以便于第二次执行PrintPage时知道从哪开始打印。
例如,下面这段程序用来打印一个DataTable中有所有数据,每页打印一条: 继续阅读 »
标签存档: c#
C#学习笔记——Show()与ShowDialog()的区别
作者: ElmerZhang
日期: 2007 年 12 月 20 日
没有评论
用Show()调用的窗体不会返回任何值,在使用form.Show()显示form以后,会马上继续执行form.Show()后面的语句。
而用ShowDialog()调用的窗体会返回一个DialogResult型的值,在使用form.ShowDialog()后,主程序会暂停,等待form被Close()以后返回一个值,然后再继续执行form.ShowDialog()后面的语句。
另外,假如用form.ShowDialog()打开了form,然后又在form中用MessageBox.Show(string)弹出了一个对话框,则在MessageBox关闭后,form也会被关闭,可在form的FormClosing事件中加入以下处理来解决此问题:
if (e.CloseReason == CloseReason.None)
{
e.Cancel = true;
}