一、布局:
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. VS2010 项目引用了微软企业库,但是编译时提示:未能找到类型或命名空间名称

    我写的是控制台程序 是在引用我自己写的库 和 Microsoft.Practices.EnterpriseLibrary 时出现的问题 经过分析,和百度 找到了修改方法 打开  项目属性-->应 ...

  2. php经典面试题与答案(转先锋教程网)

    php经典面试题与答案 时间:2016-02-29 16:06:23来源:网络 导读:php经典面试题与答案,包括腾讯php面试题.百度php面试题.新浪php面试题等   php面试题及答案 1,禁 ...

  3. 强(strong)、软(soft)、弱(weak)、虚(phantom)引用

    https://github.com/Androooid/treasure/blob/master/source/lightsky/posts/mat_usage.md 1.1 GC Root JAV ...

  4. Rails4 中 因为secret key 引起在production环境下无法运行

    错误信息 Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml` ...

  5. PIN码计算锦集

    1. 腾达,C8:3A:35开头的MAC有效~network路由,MAC有效~以及00B00C开头的MAC有效之外的请您自己发现算法..这里只公布三个MAC地址算法,其余也可以算~这里就不公布出来了. ...

  6. (转)linux内核虚拟文件系统浅析

    转自http://hi.baidu.com/_kouu/item/4e9db87580328244ef1e53d0 ###### 虚拟文件系统(VFS)在我看来, "虚拟"二字主要 ...

  7. Android debug时一直处于waiting for debugger解决办法

    问题:android 调试卡在:Waiting for Debugger - Application XXX is waiting for the debugger to Attach" 解 ...

  8. jsp,OGNL调用后台Action的某方法

    用%{}可取出valueStack中的Action,可直接调用其方法. %{testa('key')} 即可调用到action的testa(String s) 方法 但这些都需要结合struts2的标 ...

  9. Character Controller (角色控制器) 中 Move()和SimpleMove() 的区别

    首先给出两者的圣典: CollisionFlagsMove(Vector3motion); Description A more complex move function taking absolu ...

  10. Mount NAS Storage in Linux Overview 转载

    Mount NAS Storage in Linux Overview Mounting your NAS Storage to a device that runs on a Linux-based ...