1、PrinterDocument
PrinterDocument是主要的打印控件,打印的时候必须添加它是对PrinterDocument类的实现,
通过它的PrinterPage事件可以设置打印的内容。
2、PrinterDialog
PrinterDialog提供打印机设置对话框,具有Document属性和Showdialog方法,将其Document
属性设置为PrinterDocument对象即可。
3、PageSetupDialog
PageSetupDialog控件提供页面设置对话框,常用的页面设置元素有纸张、方向和页边距。
4、PrinterPreviewDialog
PrinterPreviewDialog提供标准的打印预览对话框,用于显示文档的打印效果。该控件包含用于打印
放大、显示一页或多页的按钮。该控件的关键属性Document与PrinterDialog控件的相同,用于设置要
预览的文档,此文档必须是PrinterDocument对象。
5、PrinterPreviewControl
PrinterPreviewControl帮助定制打印预览对话框,可以显示文档的打印效果,没有按钮和其他用户
界面元素。该控件常用于打印预览用户界面,而PrinterPreviewDialog控件用于标准用户界面。
打印的相关代码:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { Font f=new Font("黑体",18); SolidBrush s=new SolidBrush(Color.Black); e.Graphics.DrawString(rtxtNotepad.Text,f,s,10,10);//需要的参数 } /// <summary> /// 打印设置 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 打印设置ToolStripMenuItem_Click(object sender, EventArgs e) { pageSetupDialog1.Document = printDocument1; pageSetupDialog1.ShowDialog(); } /// <summary> /// 打印预览 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 打印预览ToolStripMenuItem_Click(object sender, EventArgs e) { printPreviewDialog1.Document = printDocument1; printPreviewDialog1.ShowDialog(); } /// <summary> /// 打印 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 打印ToolStripMenuItem_Click(object sender, EventArgs e) { printDialog1.Document = printDocument1; DialogResult dr= printDialog1.ShowDialog(); if (dr == DialogResult.OK)//当用户点击确定的时候执行打印 { printDocument1.Print(); } }
对话框控件:
colorDialog - 颜色选择对话框
folderBrowserDialog - 文件路径选择对话框
fontDialog - 字体选择对话框
openFileDialog - 打开文件对话框
openFileDialog.Filter = "文本文件.txt|*.txt|视频文件|*.avi|所有文件|*.*";
saveFileDialog - 保存文件对话框
问题:如果我已经保存过了,那么在次保存不需要弹出对话框,而是直接执行保存就可以。
绝对路径:带盘符的 G:\0720\...
相对路径:根据你当前程序的目录下,找到某个文件夹 /css/css1.css
流:IO
StreamReader - 读取流 sr.ReadToEnd();
StreamWriter - 输出流 sw.Write(要输出的内容);
上面几种控件的应用代码:
bool b = false; bool s = true; /// <summary> /// 字体颜色 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 字体颜色ToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult dr= colorDialog1.ShowDialog(); if (dr == DialogResult.OK) { rtxtNotepad.ForeColor = colorDialog1.Color; } } /// <summary> /// 字体样式 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 字体样式ToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult dr= fontDialog1.ShowDialog(); if (dr == DialogResult.OK) { fontDialog1.ShowDialog(); rtxtNotepad.Font = fontDialog1.Font; rtxtNotepad.ForeColor = fontDialog1.Color; } } /// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsmiSave_Click(object sender, EventArgs e) { //文件从磁盘打开但是修改了内容 if (b == true && rtxtNotepad.Modified == true) { rtxtNotepad.SaveFile(odlgNotepad.FileName); s = true; } else if (b == false && rtxtNotepad.Text.Trim() != "" && sdlgNotepad.ShowDialog() == DialogResult.OK) { rtxtNotepad.SaveFile(sdlgNotepad.FileName); s = true; b = true; odlgNotepad.FileName = sdlgNotepad.FileName; } } /// <summary> /// 另存为 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsmiSaveAs_Click(object sender, EventArgs e) { if (sdlgNotepad.ShowDialog() == DialogResult.OK) { rtxtNotepad.SaveFile(sdlgNotepad.FileName); s = true; } } /// <summary> /// 打开 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsmiOpen_Click(object sender, EventArgs e) { if (b == true || rtxtNotepad.Text.Trim() != "") { if (s == false) { string result; result = MessageBox.Show("文件尚未保存,是否保存?", "保存文件", MessageBoxButtons.YesNoCancel).ToString(); switch (result) { case "Yes": //文件是从磁盘打开的 if (b == true) { //按打开的路径进行保存 rtxtNotepad.SaveFile(odlgNotepad.FileName); } //不是从磁盘打开的 else if (sdlgNotepad.ShowDialog() == DialogResult.OK) { rtxtNotepad.SaveFile(sdlgNotepad.FileName); } s = true; break; case "No": b = false; rtxtNotepad.Text = ""; break; } } } odlgNotepad.RestoreDirectory = true; if ((odlgNotepad.ShowDialog() == DialogResult.OK) && odlgNotepad.FileName != "") { rtxtNotepad.LoadFile(odlgNotepad.FileName); b = true; } s = true; }