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();
}
}
以上的内容可以用来做一些类似于记事本的这种应用程序,待更新
winform 对话框,保存,另存为,还有打印控件的更多相关文章
- winform 对话框控件,打印控件
1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜 ...
- winform对话框控件、打印控件
对话框控件: ColorDialog:颜色选择对话框,让用户自行选择一种颜色,使用方法类似FontDialog FontDialog:字体选择对话框,让用户自行选择一种字体(也可以选择字体颜色,需要在 ...
- C# ie通过打印控件点打印,总是弹出另存为xps的对话框
用的是lodop打印控件,点打印后,总是弹出另存为xps的对话框,后来在网上查到可能是把windows自带的Microsoft XPS Document Writer设为默认打印机的原因. 但现在没有 ...
- 【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器
一.打印控件 第一步先把打印对象搞出来. - printDocument 打印对象(将要打印的内容放到该对象里,从该对象里取内容打印) 设置他的PrintPage事件(对于要打印的每一页触发一次 ...
- 网页WEB打印控件制作-开放源码
在WEB系统中,打印的确是比较烦人的问题,如果我们能制作一个属于自己的自定义的打印插件,那么我们在后续自定义打印的时候能随心所欲的控制打印,这样的效果对于程序员来说是非常开心的一件事件,本文将自己开发 ...
- 在.net Core 使用PDF模板文件生成PDF文件,代替WEB打印控件!
这几天找WEB打印控件,要么收费的,要么免费的只能在IE里用! 我只想简单的打个标签纸!百度2天,看到一老兄说可以用PDF,然后又开始百度..找到了一篇文章 http://www.jianshu.co ...
- 基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息
在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于 ...
- [2014.01.27]wfPrintOcx 票据打印控件 v5.3
支持选择打印机,并自动记忆选择的打印机. 适合打印各类票据格式. 支持画正方形.长方形.圆形.椭圆.横线.竖线.HTTP图片. 支持数字金额转换成中文大写金额. 可以设置固定宽度的文字自动换行. 组件 ...
- Windows 打印控件
Windows窗体的PrintDocument组件用于设置一些属性,这些属性说明,在基于Windows的应用程序中要打印说明内容以及打印文档的能力,可将它与PrintDialog组件一起使用来控制文档 ...
随机推荐
- 10个核心的Linux面试问题与答案
http://www.geekfan.net/8571/ compgen -c,可以打印出所有支持的命令列表使用Linux 命令dirs可以将当前的目录栈打印出来.使用linux命令 ’disown ...
- scanf、printf、gets、puts的应用及区别
1.scanf()函数 函数scanf()按指定的格式从键盘读取数据,并将其赋给一个或多个变量.例如: scanf(“%d %f”, &x,&rate); 输入多个变量时,scanf ...
- 阻止网页内部滚动条mousewheel事件冒泡
function preventScroll(id){ var _this = document.getElementById(id); if(navigator.userAgent.indexOf( ...
- jquery选择器和基本语句
$("#aa"); //根据ID找 $(".aa"); //根据class找 $("div"); //根据标签名找 $("[id= ...
- Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)
一.Git是什么? Git --- The stupid content tracker, 傻瓜内容跟踪器.Git是目前世界上最先进的分布式版本控制系统. 二.SVN与Git的最主要的区别? ...
- android 使用shape来优化界面效果
看下效果图: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android=&quo ...
- SSH整合报错:org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped[......]
非常诡异的报错,信息如下:org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [select count(* ...
- Hdu 1081 To The Max
To The Max Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- (转)How To Kill runaway processes After Terminating Concurrent Request
终止EBS并发请求后,解锁相关的进程. 还有种方法可以在PLSQL->tools->session 中找到并且kill Every concurrent Request uses some ...
- Elasticsearch5.1.1+ik分词器+HEAD插件安装小记
一.安装elasticsearch 1.首先需要安装好java,并配置好环境变量,详细教程请看 http://tecadmin.net/install-java-8-on-centos-rhel-an ...