Winform容器标签 打印标签 对话框控件
一、容器标签
布局:
Anchor:锁定位置,指定与窗口容器的边缘位置,会随着窗口大小的改变而改变;
Dock:填充窗口的位置。一般与容器标签同时使用。
1、Panel:对控件进行分组。可以独立布局,里面可以放其他控件和容器(包括自身)再进行布局。
2、FlowLayOutPanel:流式布局标签。从左到右。宽度不够,自动换行。
3、GroupBox:分组容器。拥有panel全部属性,比panel多了个标题和边框样式。
4、Tabcontrol:选项卡容器。
5、SplitContainer:二分区容器。将容器分为两部分,这两个分部分,用户可以随意调节其大小。选中整体容器,可以修改Oriention属性来调节分割的区域是水平的还是垂直的。
6、TableLayout:表格容器。每个表格只能放一个控件,可以先放一个容器,再放多个控件。
二、打印标签
把要打印的文字放在一个对象a(printDocument)上,打印的操作就是对a的操作。
PageSetupDialog:打印设置对话框
PrintPreviewControl:打印预览控件
PrintPreviewDialog:打印预览对话框
PrintDialog:打印对话框
DialogResult dr = printDialog1.ShowDialog();
if (dr == DialogResult.OK)//如果用户点击的是确定按钮,那么执行打印
{
printDocument1.Print();
}
DialogResult是一个可被实例化的枚举类,用来接收用户在对话框中的操作
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Drawing;//设置printDocument时需要这个命名空间 namespace WindowsFormsApplication20 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button3_Click(object sender, EventArgs e) { } private void groupBox1_Enter(object sender, EventArgs e) { } private void radioButton1_CheckedChanged(object sender, EventArgs e) { } private void radioButton2_CheckedChanged(object sender, EventArgs e) { } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { } private void 打印设置toolStripMenuItem1_Click(object sender, EventArgs e)//打印设置 { pageSetupDialog1.Document = printDocument1;//将盛有打印内容的对象给设置窗口 pageSetupDialog1.ShowDialog();//显示打印设置窗口 } private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { Font f=new Font("黑体",20); SolidBrush s=new SolidBrush(Color.Blue); e.Graphics.DrawString(textBox1.Text,f,s,10,10);//设置盛有要打印内容的对象 } private void toolStripMenuItem2_Click(object sender, EventArgs e)//打印预览 { printPreviewControl1.Document = printDocument1;//将要打印的对象放到预览上 } private void 新建NToolStripMenuItem_Click(object sender, EventArgs e) { } private void 打开OToolStripMenuItem_Click(object sender, EventArgs e) { } private void 打印PToolStripMenuItem_Click(object sender, EventArgs e) { printDialog1.Document = printDocument1;//将盛有打印内容的对象给打印窗口 DialogResult s= printDialog1.ShowDialog();//接受打印结果 if (s == DialogResult.OK)//如果选择确定 { printDocument1.Print(); } } } }
三、 对话框控件
1、colorDialog - 颜色选择对话框
(1)将此控件显示出来 DialogResult a = colorDialog1.ShowDialog()
(2)将文本内的文字的颜色选为选中的颜色 textBox1.ForeColor = colorDialog1.Color;
2、olderBrowserDialog - 文件路径选择对话框
(1)将此控件显示出来DialogResult a= folderBrowserDialog1.ShowDialog();
(2)将路径显示在某个区域的文本内 toolStripStatusLabel1.Text = folderBrowserDialog1.SelectedPath;
3、fontDialog - 字体选择对话框
操作跟colorDialog一样。
区别是能在fontDialog内设置字体颜色。/在FontDialoge1的ShowColor属性改为True,然后再进行设置。
4、openFileDialog - 打开文件对话框
(1)先设置好需要打开的文件的类型(或者后缀),如下:
openFileDialog1.Filter = "文本文件.txt|*.txt|视频文件|*.avi|所有文件|*.*";
(2)打开窗口,并且接收所选项DialogResult a= openFileDialog1.ShowDialog();
(3)在状态栏显示路径 toolStripStatusLabel1.Text = openFileDialog1.FileName;。(此步骤可有可无)
(4)用流(即StreamReader需要引用命名空间IO)接收路径上的文件并进行解码。 StreamReader s = new StreamReader(openFileDialog1.FileName,System.Text.Encoding.Default);
(5)对已经解码的文件进行读取,赋值到TextBox1中去!textBox1.Text = s.ReadToEnd();
(6)关闭流s.Close();
5、saveFileDialog - 保存文件对话框
(1)保存前保证文件不是空文件。 saveFileDialog1.FileName = "新建文本文件.txt";
(2)打开窗口,并且接收 DialogResult a = saveFileDialog1.ShowDialog();
(3)状态栏显示路径(此步骤可有可无)toolStripStatusLabel1.Text = saveFileDialog1.FileName;
(4)用StreamReader接收文件,程序自动解码,不用写解码党法StreamWriter ss = new StreamWriter(saveFileDialog1.FileName);
(5)将TextBox1的内容赋值到保存的文件中去ss.Write(textBox1.Text);
(6)必须关闭流ss.Close();
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication22 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void textBox1_TextChanged(object sender, EventArgs e) { } private void 帮助HToolStripMenuItem_Click(object sender, EventArgs e) { } private void 内容CToolStripMenuItem_Click(object sender, EventArgs e)//修改字体的颜色 { DialogResult a = colorDialog1.ShowDialog();//窗体出现并且接收 if (a == DialogResult.OK) { textBox1.ForeColor = colorDialog1.Color;//文本框的字体颜色 toolStripStatusLabel1.ForeColor = colorDialog1.Color;//状态栏的颜色 } } private void 索引IToolStripMenuItem_Click(object sender, EventArgs e)//修改字体的样式 { DialogResult a = fontDialog1.ShowDialog();//窗体出现并且接收 if (a == DialogResult.OK) { textBox1.Font = fontDialog1.Font;//设置字体样式 textBox1.ForeColor = fontDialog1.Color;//在FontDialoge1的ShowColor属性改为True,再进行此步骤,设置字的颜色。 } } private void 搜索SToolStripMenuItem_Click(object sender, EventArgs e)//文件路径选择对话框 { DialogResult a= folderBrowserDialog1.ShowDialog(); if (a == DialogResult.OK) { toolStripStatusLabel1.Text = folderBrowserDialog1.SelectedPath; } } private void 打开OToolStripMenuItem_Click(object sender, EventArgs e) { openFileDialog1.Filter = "文本文件.txt|*.txt|视频文件|*.avi|所有文件|*.*";//查看所需要的格式文件,格式:客户看的|计算机识别的。 DialogResult a= openFileDialog1.ShowDialog();//打开窗口,并且接收 if (a == DialogResult.OK) { toolStripStatusLabel1.Text = openFileDialog1.FileName;//状态栏显示路径 //StreamReader需要引用新的命名空间IO。 //用StreamReader接收文件,并且进行解码。 StreamReader s = new StreamReader(openFileDialog1.FileName,System.Text.Encoding.Default); textBox1.Text = s.ReadToEnd();//对已经解码的文件进行读取,赋值到TextBox1中去! s.Close();//必须关闭流(StreamReader) } } private void 退出XToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } private void 保存SToolStripMenuItem_Click(object sender, EventArgs e) { saveFileDialog1.FileName = "新建文本文件.txt";//保证不是空文件 DialogResult a = saveFileDialog1.ShowDialog();//打开窗口,并且接收 if (a == DialogResult.OK) { toolStripStatusLabel1.Text = saveFileDialog1.FileName;//状态栏显示路径 StreamWriter ss = new StreamWriter(saveFileDialog1.FileName);//用StreamReader接收文件,程序自动解码,不用写解码党法 ss.Write(textBox1.Text);//将TextBox1的内容赋值到保存的文件中去 ss.Close();//必须关闭流 } } } }
完!!
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
绝对路径:带盘符的 G:\0720\...
相对路径:根据你当前程序的目录下,找到某个文件夹 /css/css1.css
流:IO
StreamReader - 读取流 sr.ReadToEnd();
StreamWriter - 输出流 sw.Write(要输出的内容);