winform 对话框,保存,另存为,还有打印控件

学习的对话框的种类:

1、打开文件对话框(OpenFileDialog)

2、保存文件对话框(SaveFileDialog)

3、字体对话框(FontDialog)

4、颜色对话框(ColorDialog)

5、打开文件夹对话框 FolderBrowserDialog

_____________________________________________________________________________________________________________________________

如下程序:

public Form1()
        {
            InitializeComponent();
        }
        //dialog  对话,会话,对话框
        //ShowDialog 将窗体显示为具有指定所有者模式的对话框
        //DialogResult 指定标识符以指示对话框的返回值
        //floder   文件夹,文书夹
        //Browser  浏览器
        //file     文件;档案;文件夹
        //stream   流媒体类
        private void 字体颜色ToolStripMenuItem_Click(object sender, EventArgs e)
        {
           DialogResult dr= colorDialog1.ShowDialog();//显示为调色板对话框
           if (dr == DialogResult.OK)//如果用户点击的是确定才赋值
           {
               textBox1.ForeColor = colorDialog1.Color;//textbox1中的前景色
           }
        }

        private void 选择文件夹ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            folderBrowserDialog1.ShowDialog();//显示为文件夹浏览器样式
            textBox1.Text = folderBrowserDialog1.SelectedPath;//将选择路径里的内容显示在文本框
            //绝对路径,相对路径

        }

        private void 字体设置ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            fontDialog1.ShowColor = true;//开启字体设置对话框里的颜色
            fontDialog1.ShowDialog();//开启字体设置对话框
            textBox1.Font = fontDialog1.Font;//文本框字体设置引用字体设置
            textBox1.ForeColor = fontDialog1.Color;//文本框颜色引用字体设置对话框里的颜色
        }

        private string lujing;//定义一个变量lujing来存放文件存放的路径

        private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
        {

            if (lujing == "")//如果没有该保存路径
            {
                saveFileDialog1.FileName = "新建文件.txt";//设置保存名称及后缀文件类型
                DialogResult dr = saveFileDialog1.ShowDialog();//设置一个对话框变量dr接收显示保存对话框的内容
                if (dr == DialogResult.OK)//如果用户点击确定
                {
                    //lujing = saveFileDialog1.FileName;//定义一个变量来接收保存文件的名称
                    StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);//开启流通道
                    sw.Write(textBox1.Text);//保存编辑文档
                    sw.Close();//关闭流通道
                }
            }
            else
            {
                StreamWriter sw = new StreamWriter(lujing);//开启流通道
                sw.Write(textBox1.Text);//保存编辑文档
                sw.Close();//关闭流通道
            }

        }

        private void 新建NToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if(this.textBox1.Text.Length>0)//如果打开记事本中有输入得东西
            {
                DialogResult dr = MessageBox.Show("是否进行保存","保存对话框",MessageBoxButtons.YesNo);
                //弹出是否保存的对话框
                if(dr==DialogResult.OK)//用户点击确定
                {
                    if (lujing == "")//如果没有该保存路径
                    {
                        saveFileDialog1.FileName = "新建文件.txt";//设置保存名称及后缀文件类型
                        DialogResult dr1 = saveFileDialog1.ShowDialog();//设置一个对话框变量dr接收显示保存对话框的内容
                        if (dr1 == DialogResult.OK)//如果用户点击确定
                        {
                            //lujing = saveFileDialog1.FileName;//定义一个变量来接收保存文件的名称
                            StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);//开启流通道
                            sw.Write(textBox1.Text);//保存编辑文档
                            sw.Close();//关闭流通道
                        }
                    }
                    else
                    {
                        StreamWriter sw = new StreamWriter(lujing);//开启流通道
                        sw.Write(textBox1.Text);//保存编辑文档
                        sw.Close();//关闭流通道
                    }
                }

            }
            lujing = null;//执行完新建将路径变为空,因为是新建的文本是不会有路径的.
            this.textBox1.Text = ""; //将文本框清空
        }

        private void 打开OToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "文本文件|*.txt|所有文件|*.*";//筛选打开文件类型
            DialogResult dr = openFileDialog1.ShowDialog();//设置一个对话框变量接收
            if (dr == DialogResult.OK)//点击确定按钮
            {

                lujing = openFileDialog1.FileName;//将文件路径的值赋给lujing这个变量
                StreamReader sr = new StreamReader(openFileDialog1.FileName,UnicodeEncoding.GetEncoding("GB2312"));//初始化读取流媒体类,并将打开的文件名称,及当前编码形式
                //相当于用水管连接两个水龙头,打开开关数据进行读写操作
                textBox1.Text = sr.ReadToEnd();
                sr.Close();
            }
            //第二种方法
            //OpenFileDialog ofd = new OpenFileDialog();//初始化打开文件夹这个类,并定义一个变量ofd
            //ofd.Title = "打开";
            //ofd.Filter = "文本文件|*.txt|所有文件|*.*";//设置打开文件类型对话框中文件类型,文本文件txt或者所有文件
            //if (ofd.ShowDialog() == DialogResult.OK)//如果用户点击打开文件对话框
            //{
            //    lujing = saveFileDialog1.FileName;
            //    FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);
            //    //调用以文件为主的stream类,既支持同步操作又支持异步操作。将开启的权限赋给变量fs
            //    //ofd.FileName 获取文件名称及路径
            //    //FileMode.Open 打开选定文件
            //    //FileAccess.Read 设置文件操作为读取
            //    //FileShare.Read   允许随后打开文件的读取
            //    StreamReader sr = new StreamReader(fs, Encoding.Default);//读取流媒体初始化,将fs的值及当前字符编码赋值给sr
            //    textBox1.Text = sr.ReadToEnd();//用TextBox1接收读取到的内容
            //    sr.Close();//关闭读取的流媒体通道
            //    sr.Close();//关闭以文件操作为主的流媒体通道
            //}
        }

        private void 另存为AToolStripMenuItem_Click(object sender, EventArgs e)
        {

            saveFileDialog1.FileName = "新建为文件.txt";//设置保存名称及后缀文件类型
            saveFileDialog1.ShowDialog();
            StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);//开启流通道
            sw.Write(textBox1.Text);//保存编辑文档
            sw.Close();//关闭流通道
        }

_____________________________________________________________________________________________________________________________________________________________打印控件:

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();
            }        }
 以上的内容可以用来做一些类似于记事本的这种应用程序,待更新       
				
时间: 2024-12-28 13:11:18

winform 对话框,保存,另存为,还有打印控件的相关文章

winform 对话框控件,打印控件

1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜色对话框(ColorDialog) 4.打开文件夹对话框 FolderBrowserDialog using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using

对话框和打印控件

对话框控件:colorDialog - 颜色选择对话框 fontDialog - 字体样式选择对话框 folderBrowserDialog - 文件夹选择对话框 openFileDialog - 打开文件对话框 StreamReader - 读取流 SaveFileDialog - 保存文件对话框 StreamWriter - 输出流 ----------------------------------------------------------- 打印控件带dialog -是对话带con

容器、打印控件、对话框

布局: Anchor:锁定位置Dock:填充位置 一般Dock是与容器控件配合使用 容器控件: Panel:就是一个区域,类似于DIV,可以独立布局,还可以让其它控件及容器在它的内部再次布局 FlowLayoutPanel:流式布局容器,内容会默认从左向右排列,如果宽度不够了,那么自动换行 GroupBox:依然是容器,拥有Panel全部属性,比Panel多了个标题和边框样式 TabControl:选项卡容器 将区域加上标签,每个标签可以放入不同内容 SplitContainer:二分区容器 将

C#_布局、容器控件、打印控件、对话框控件

布局: Anchor:锁定位置 Dock:填充位置 ---| 一般Dock是与容器控件配合使用 |--- 容器控件: Panel:就是一个区域,类似于DIV,可以独立布局,还可以让其它控件及容器在它的内部再次布局 FlowLayoutPanel:流式布局容器,内容会默认从左向右排列,如果宽度不够了,那么自动换行 GroupBox:依然是容器,拥有Panel全部属性,比Panel多了个标题和边框样式 TabControl:选项卡容器 SplitContainer:二分区容器 TableLayout

【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器

一.打印控件 第一步先把打印对象搞出来. - printDocument    打印对象(将要打印的内容放到该对象里,从该对象里取内容打印) 设置他的PrintPage事件(对于要打印的每一页触发一次) - pageSetupDialog 打印设置对话框 - printPreviewDialog 打印预览对话框 - printPreviewControl  打印预览控件. 只需要把预览对象给他设置上就好 - printDialog  打印对话框 打印界面里面是否禁用页面范围.打印到文件等从Pri

【2017-5-3】Winform 打印控件

打印控件:要打印,第一步先要想到制作打印对象 private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { Font f = new Font("黑体",20); Brush b = new SolidBrush(Color.Red); e.Graphics.DrawString(textBox1.Text, f, b, 20, 50); } 通过

网页WEB打印控件制作 开放源码可以调试

在WEB系统中,打印的确是比较烦人的问题,如果我们能制作一个属于自己的自定义的打印插件,那么我们在后续自定义打印的时候能随心所欲的控制打印,这样的效果对于程序员来说是非常开心的一件事件,本文将自己开发编写的C# 制作的HTML打印插件分享出来,让有同样需求的朋友提供一个参考:此插件是基于Microsoft .NET Framework 2.0 开发的,缺点是每台客户端在安装插件时,必须要安装Microsoft .NET Framework 2.0 :本插件能实现 页眉.页脚.表头.标题.表尾的分

网页WEB打印控件制作

在WEB系统中,打印的确是比较烦人的问题,如果我们能制作一个属于自己的自定义的打印插件,那么我们在后续自定义打印的时候能随心所欲的控制打印,这样的效果对于程序员来说是非常开心的一件事件,本文将自己开发编写的C# 制作的HTML打印插件分享出来,让有同样需求的朋友提供一个参考:此插件是基于Microsoft .NET Framework 2.0 开发的,缺点是每台客户端在安装插件时,必须要安装Microsoft .NET Framework 2.0 :本插件能实现 页眉.页脚.表头.标题.表尾的分

在.net Core 使用PDF模板文件生成PDF文件,代替WEB打印控件!

这几天找WEB打印控件,要么收费的,要么免费的只能在IE里用! 我只想简单的打个标签纸!百度2天,看到一老兄说可以用PDF,然后又开始百度..找到了一篇文章 http://www.jianshu.com/p/d518d0988621    本文代码全部摘抄至这篇文章,发文只为记录! 不同的是我导入的库是iTextSharp.LGPLv2.Core.Fix 开始 一.先用word制作好模板文件,标签打印的话注意页边距,然后另存为PDF格式文件 二.然后下载adobe acrobat pro,创建时