一、布局:
2个属性:
Anchor:锁定位置
Dock:填充位置
一般Dock是与容器控件配合使用

二、容器控件:
Panel:就是一个区域,类似于DIV,可以独立布局,还可以让其它控件及容器在它的内部再次布局

FlowLayoutPanel:流式布局容器,内容会默认从左向右排列,如果宽度不够了,那么自动换行

GroupBox:依然是容器,拥有Panel全部属性,比Panel多了个标题和边框样式

TabControl:选项卡容器

SplitContainer:二分区容器,相当于两个panel,可以改变大小,也可以继续添加

TableLayoutPanel:表格容器

--------------------------------
三、打印控件:
PrintDocument:要打印的对象,非常重要
程序不知道你要打印什么东西,它只会去找这个要打印的对象
你所要做的事情,就是将要打印的内容绘制到这个打印对象上去

PageSetupDialog:打印设置对话框

PrintPreviewControl:打印预览控件
PrintPreviewDialog:打印预览对话框

PrintDialog:打印对话框

DialogResult dr = printDialog1.ShowDialog();

if (dr == DialogResult.OK)//如果用户点击的是确定按钮,那么执行打印
{
printDocument1.Print();
}

DialogResult是一个可被实例化的枚举类,用来接收用户在对话框中的操作

打印代码:

 private void 打印设置ToolStripMenuItem_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("黑体",);
SolidBrush b = new SolidBrush(Color.Black); e.Graphics.DrawString(textBox1.Text, f, b, , );
} private void 打印预览VToolStripMenuItem_Click(object sender, EventArgs e)
{
printPreviewControl1.Document = printDocument1;
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog();
} private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)
{
printDialog1.Document = printDocument1;
DialogResult dr = printDialog1.ShowDialog(); if (dr == DialogResult.OK)
{
printDocument1.Print();
} }

colorDialog - 颜色选择对话框

private void 字体颜色ToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult dr = colorDialog1.ShowDialog(); if (dr == DialogResult.OK)
{
textBox1.ForeColor = colorDialog1.Color;
}
}

folderBrowserDialog - 文件路径选择对话框

 private void 选择文件夹ToolStripMenuItem_Click(object sender, EventArgs e)
{
folderBrowserDialog1.ShowDialog();
toolStripStatusLabel1.Text = folderBrowserDialog1.SelectedPath;
}

fontDialog - 字体选择对话框,可在属性中打开ShowColor,在对话框中会出现颜色选择

 private void 字体设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
fontDialog1.ShowDialog();
textBox1.Font = fontDialog1.Font;
textBox1.ForeColor = fontDialog1.Color;
}

openFileDialog - 打开文件对话框
openFileDialog1.Filter = "文本文件.txt|*.txt|视频文件|*.avi|所有文件|*.*";

private void 打开OToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "文本文件.txt|*.txt|视频文件|*.avi|所有文件|*.*";
DialogResult dr = openFileDialog1.ShowDialog(); if (dr == DialogResult.OK)
{ toolStripStatusLabel1.Text = openFileDialog1.FileName;
StreamReader sr = new StreamReader(openFileDialog1.FileName, System.Text.Encoding.Default);
textBox1.Text = sr.ReadToEnd();
sr.Close();
} }

saveFileDialog - 保存文件对话框
问题:如果我已经保存过了,那么在次保存不需要弹出对话框,而是直接执行保存就可以。

string path = "";

        private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
{
if (path == "")
{
saveFileDialog1.FileName = "新建文本文件.txt"; DialogResult dr = saveFileDialog1.ShowDialog(); if (dr == DialogResult.OK)
{
toolStripStatusLabel1.Text = saveFileDialog1.FileName;
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
sw.Write(textBox1.Text);
sw.Close();
path = saveFileDialog1.FileName;
}
}
else
{
StreamWriter sw = new StreamWriter(path);
sw.Write(textBox1.Text);
sw.Close();
}

绝对路径:带盘符的 G:\0720\...

相对路径:根据你当前程序的目录下,找到某个文件夹 /css/css1.css

流:IO
StreamReader - 读取流 sr.ReadToEnd();
StreamWriter - 输出流 sw.Write(要输出的内容);

winform(容器、打印、对话框)的更多相关文章

  1. Winform容器标签 打印标签 对话框控件

    一.容器标签 布局: Anchor:锁定位置,指定与窗口容器的边缘位置,会随着窗口大小的改变而改变: Dock:填充窗口的位置.一般与容器标签同时使用. 1.Panel:对控件进行分组.可以独立布局, ...

  2. WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享

    WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享 在WinForm程序中,我们有时需要对某容器内的所有控件做批量操作.如批量判断是否允许为空?批量设置为只读.批量设置 ...

  3. C# 使用printDocument1.Print打印时不显示 正在打印对话框

    C#使用printDocument1.Print打印时不显示正在打印对话框有两种方法 第一种,使用PrintController       PrintController printControll ...

  4. C# 使用printDocument1.Print打印时不显示 正在打印对话框(里面还有一个讨厌的取消按钮)

    C#使用printDocument1.Print打印时不显示正在打印对话框有两种方法 第一种,使用PrintController PrintController printController = n ...

  5. FastReport.Net使用:[1]屏蔽打印对话框

    1.如何设置默认打印机 在FastReport设计界面找到File->Printer Setup菜单,运行该菜单显示“打印机设置”对话框.在打印机(Printer)列表中选择默认打印机,并勾上“ ...

  6. PRINTDLG 打印对话框操作

    typedef struct tagPD { DWORD lStructSize; HWND hwndOwner; HGLOBAL hDevMode; HGLOBAL hDevNames; HDC h ...

  7. CAD如何直接打印,不出现打印对话框?

    主要用到函数说明: MxDrawXCustomFunction::Mx_Print 直接打印,不出现打印对话框,详细说明如下: 参数 说明 double ptLBx 打印的范围左下角x double ...

  8. CAD直接打印,不出现打印对话框(com接口VB语言)

    主要用到函数说明: MxDrawXCustomFunction::Mx_Print 直接打印,不出现打印对话框,详细说明如下: 参数 说明 double ptLBx 打印的范围左下角x double ...

  9. WinForm容器内控件批量效验是否同意为空?设置是否仅仅读?设置是否可用等方法分享

    WinForm容器内控件批量效验是否同意为空?设置是否仅仅读?设置是否可用等方法分享 在WinForm程序中,我们有时须要对某容器内的全部控件做批量操作.如批量推断是否同意为空?批量设置为仅仅读.批量 ...

  10. UWP开发入门(二十四)—— Win10风格的打印对话框

    虽然经常看到阿迪王发“看那个开发UWP的又上吊了”的图……还是忍不住重启一下这个系列.最近有用到UWP的print API,特地来写一篇给某软的这个伟大构想续一秒. 之前的打印对话框差不多长成这样: ...

随机推荐

  1. Java数组,去掉重复值、增加、删除数组元素

    import java.util.List; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; p ...

  2. iOS 7新功能例子

    参考https://github.com/shu223/iOS7-Sampler Code examples for the new functions of iOS 7. Contents Dyna ...

  3. mysql同主机数据库复制

    我们有时候需要在测试环境和生产环境下做交换.以下可以快速的复制数据库,支持大容量(1G以上) 1.将database_DEV数据库导成database_DEV.contents.gz压缩文件 mysq ...

  4. SQLServer的数据类型

    第一大类:整数数据 bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1byte.int:以4个字节来存储正负数.可存储范围为:-2^31至2^31-1.smallint: ...

  5. Unity3D内置着色器

    Unity内部提供了一些可以直接使用的着色器,这些内置着色器包括以下6个方面: (1)Performance of Unity shaders 着色器的性能和两个方面有关:shader本身和rende ...

  6. LeetCode——Serialize and Deserialize Binary Tree

    Description: Serialization is the process of converting a data structure or object into a sequence o ...

  7. DirectWrite文字排版——字符串去尾

    DirectWrite是 DirectX 家族中专门用来做文本处理的部分,主要配合Direct2D进行渲染工作. 一.字符串去尾介绍 在文字渲染中,不免会遇到字符串去尾的需求.字符串去尾指的是:当字符 ...

  8. 使用aspose.cell动态导出多表头 EXCEL

    效果图: 前台调用: using System; using System.Collections.Generic; using System.Linq; using System.Web; usin ...

  9. BlocksKit初见:一个支持将delegate转换成block的Cocoa库

    简介 项目主页: https://github.com/zwaldowski/BlocksKit BlocksKit 是一个开源的框架,对 Cocoa 进行了扩展,将许多需要通过 delegate 调 ...

  10. const与readonly深度分析(.NET)

    前言 很多.NET的初学者对const和readonly的使用很模糊,本文就const和readonly做一下深度分析,包括: 1. const数据类型的优势 2. const数据类型的劣势 3. r ...