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
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;
}