Visual C#页面设置(PageSetupDialog)
|
来源:中国自学编程网 发布日期:2008-03-17 |
其实页面设置(PageSetupDialog)没有太多的讲,既然讲到这里,我还是把PageSetupDialog中常用的属性列出来吧 一、页面设置(PageSetupDialog)常见属性 AllowMargins 设置是否可以对边距的编辑 AllowOrientation 是否可以使用/"方向/"单选框 AllowPaper 设置是否可以对纸张大小的编辑 AllowPrinter 设置是否可以使用/"打印机/"按钮 Document 获取打印机设置的PrintDocument MinMargins 允许用户选择的最小边距 二、 就这么简单啦,我们看看下面的吧,还有更重磅的东东呢?关于打印的。 打印预浏及打印 一, 在.net环境中,说到打印,就不能不说PrintDocumet这个类,PrintDocument属于System.Drawing.Printing这个名字空间,PrintDocument这个类是实现打印的核心代码。 { float linesPerPage=0;//页面的行号 float yPos=0;//打印字符串的纵向位置 int count=0;//行计数器 float leftMargin =e.MarginBounds.Left;//左边距 float topMargin=e.MarginBounds.Top;//上边距 string line=null;//行字符串 Color clr=richTextBox1.SelectionColor;//当前的打印颜色,在我这个程序没有实现不同颜色打印 SolidBrush b =new SolidBrush(clr);//刷子 fnt=richTextBox1.SelectionFont;//当前的打印字体 linesPerPage=e.MarginBounds.Height/fnt.GetHeight(e.Graphics);//每页可打印的行数 file://逐行循行打印一页 while(count { yPos=topMargin+(count*fnt.GetHeight(e.Graphics)); e.Graphics.DrawString(line,fnt,b,leftMargin,yPos,new StringFormat()); count++; } file://如果该页打印完成而line不为空说明还有没完成的页面,发出下一次的打印事件, file://在下一次的打印中lineReader会自动读取上次没有打印完的内容。lineReader可以记录当前读取的位置 if(line!=null) e.HasMorePages=true; else e.HasMorePages=false; } 在这里可以完成整个打印任务。把printDocument_PrintPage构造好后,就可以打印和打印预浏。 二、打印预浏对话框(PrintPreviewDialog) 打印预浏对话框没有太多的属性,最后通过ShowDialog()调用。上面的实现代码如下: private void printPreviewBTN_Click(object sender, System.EventArgs e) [Page]{ lineReader = new StringReader(richTextBox1.Text); try { PrintPreviewDialog printPreviewDialog1=new PrintPreviewDialog(); printPreviewDialog1.Document=printDocument; printPreviewDialog1.FormBorderStyle=FormBorderStyle.Fixed3D; printPreviewDialog1.ShowDialog(this); } catch(Exception excep) { MessageBox.Show(excep.Message, /"打印出错/", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } 很简单的,只要你把PrintDocument_PrintPage()写好了,这里就很容易了。 三、打印对话框(PrintDialog) 2、 3、用如下代码来实现: private void printDialogBTN_Click(object sender, System.EventArgs e){ PrintDialog printDialog=new PrintDialog(); printDialog.Document=printDocument; if(printDialog.ShowDialog()!=DialogResult.Cancel) { try { printDocument.Print(); } catch(Exception ex) { MessageBox.Show(ex.Message); } } } 到此,所有的对话框都讲完了。 |
Visual C#页面设置(PageSetupDialog)
最新推荐文章于 2023-12-02 16:18:46 发布