winform对话框控件、打印控件

对话框控件:

ColorDialog:颜色选择对话框,让用户自行选择一种颜色,使用方法类似FontDialog

FontDialog:字体选择对话框,让用户自行选择一种字体(也可以选择字体颜色,需要在属性中将ShowColor设置为True)

使用方法:

private void button1_Click(object sender, EventArgs e)
        {
            DialogResult dr = fontDialog1.ShowDialog();

            if (dr == DialogResult.OK)
            {
                richTextBox1.Font = fontDialog1.Font;
                richTextBox1.ForeColor = fontDialog1.Color;
            }
        }

FolderBrowserDialog:让用户选择文件夹(使用较少,仅仅提供一个路径)

OpenFileDialog:显示一个对话框,提示用户打开文件(需要用到流,引用System.IO命名空间)

  Filter属性:设置筛选器,筛选特定的某些文件格式

  openFileDialog1.FileName:获取或设置包含文件名在内的文件路径

使用方法:

private void button2_Click(object sender, EventArgs e)
        {

            openFileDialog1.Filter = "文本文件|*.txt";

            DialogResult dr = openFileDialog1.ShowDialog();
            if (dr == DialogResult.OK)
            {
                StreamReader sr = new StreamReader(openFileDialog1.FileName, System.Text.Encoding.Default);
                richTextBox1.Text = sr.ReadToEnd();
            }
        }

SaveFileDialog:显示一个对话框,提示用户保存文件(同上类似,也需要用到流)

  同样也可以用Filter属性设置筛选文件格式,也可以通过FileName设置默认文件名,最后需要用Flush方法才可以进行保存

使用方法:

private void button3_Click(object sender, EventArgs e)
        {
            saveFileDialog1.Filter = "文本文件|*.txt|Word|*.doc";

            saveFileDialog1.FileName = "新建文本文档!!!";

            DialogResult dr = saveFileDialog1.ShowDialog();

            if (dr == DialogResult.OK)
            {
                label1.Text = saveFileDialog1.FileName;

                StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);

                sw.Write(richTextBox1.Text);
                sw.Flush();
            }
        }

打印控件:

printDocument:定义一个向打印机发送的对象,其余打印控件均需要在此基础上进行操作

  使用到事件里面的PrintPage事件

 private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Font f = new System.Drawing.Font("微软雅黑", 16);
            Brush b = new SolidBrush(Color.Black);

            e.Graphics.DrawString(richTextBox1.Text, f, b, 10, 20);
        }

PageSetupDialog:页面设置对话框

private void button1_Click(object sender, EventArgs e)
        {
            pageSetupDialog1.Document = printDocument1;

            pageSetupDialog1.ShowDialog();
        }

PrintPreviewControl:打印预览(只包含文档部分,并且需要在窗体上分配空间)

private void button2_Click(object sender, EventArgs e)
        {
            printPreviewControl1.Document = printDocument1;

        }

PrintPreviewDialog:打印预览对话框

private void button2_Click(object sender, EventArgs e)
        {
            printPreviewDialog1.Document = printDocument1;
            printPreviewDialog1.ShowDialog();
        }

PrintDialog:打印对话框(注意需要接收返回值为OK时 执行打印)

private void button3_Click(object sender, EventArgs e)
        {
            printDialog1.Document = printDocument1;

            DialogResult dr = printDialog1.ShowDialog();

            if (dr == DialogResult.OK)
            {
                printDocument1.Print();
            }
        }
原文地址:https://www.cnblogs.com/wt627939556/p/6160158.html