1、文件对话框(FileDialog)

它又常用到两个:

打开文件对话框(OpenFileDialog)

保存文件对话框(SaveFileDialog)

2、字体对话框(FontDialog)

3、颜色对话框(ColorDialog)

4、打开文件夹对话框 FolderBrowserDialog

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;//引用流通道,输入输出读写通道 namespace duihuakuang控件
{
public partial class Form1 : Form
{
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>)//如果打开记事本中有输入得东西
{
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();//关闭流通道
}
}
}
//窗体移动API
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MOVE = 0xF010;
public const int HTCAPTION = 0x0002;
[DllImport("user32")]
private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);
private const int WM_SETREDRAW = 0xB; private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (this.WindowState == FormWindowState.Normal)
{
ReleaseCapture();
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, );
}
}

窗体移动API

     //窗体阴影API
const int CS_DropSHADOW = 0x20000;
const int GCL_STYLE = (-);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int GetClassLong(IntPtr hwnd, int nIndex); public Form1()
{
InitializeComponent();
SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW);
}

窗体阴影API

打印控件

printDocument 设置打印对象的各项初始属性,需要首先设置,面向对象的操作

打印控件分三步

1、打印页面设置 pageSetupDialog

2、打印预览 printPreviewControl  打印预览控件,不经常用

printPreviewDialog  打印预览对话框,常用

3、打印       printDialog

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace dayyin
{
public partial class Form1 : Form
{
//打印步骤 //打印设置
//打印预览
//打印
public Form1()
{
InitializeComponent();
} private void 页面设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
pageSetupDialog1.Document = printDocument1;//将打印设置的指向打印对象1
pageSetupDialog1.ShowDialog();//弹出打印设置对话框
} private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
//首先要设置打印对象,类似于画板
Font f=new Font("宋体",);//设置字体
Brush b=new SolidBrush(Color.Black);//设置画刷样式
PointF p = new PointF(,);//定义坐标点
e.Graphics.DrawString(textBox1.Text,f,b,p);//设置绘画参数,要绘制的字符串,字体,格式刷,坐标
//System.Drawing.Printing 命名空间提供与打印相关的服务。
//PrintPageEventArgs为 PrintPage 事件提供数据。
//Graphics 图形,图形,显卡
//DrawString 绘制字符串形式
} private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{ } 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;//指向打印内容
printDialog1.ShowDialog();//显示打印对话框
} }
}

winform 对话框控件,打印控件的更多相关文章

  1. wpf 深度复制控件,打印控件

    原文:wpf 深度复制控件,打印控件 <Window x:Class="WpfApp2.MainWindow" xmlns="http://schemas.micr ...

  2. winform对话框控件、打印控件

    对话框控件: ColorDialog:颜色选择对话框,让用户自行选择一种颜色,使用方法类似FontDialog FontDialog:字体选择对话框,让用户自行选择一种字体(也可以选择字体颜色,需要在 ...

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

    学习的对话框的种类: 1.打开文件对话框(OpenFileDialog) 2.保存文件对话框(SaveFileDialog) 3.字体对话框(FontDialog) 4.颜色对话框(ColorDial ...

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

    一.打印控件 第一步先把打印对象搞出来. - printDocument    打印对象(将要打印的内容放到该对象里,从该对象里取内容打印) 设置他的PrintPage事件(对于要打印的每一页触发一次 ...

  5. C# ie通过打印控件点打印,总是弹出另存为xps的对话框

    用的是lodop打印控件,点打印后,总是弹出另存为xps的对话框,后来在网上查到可能是把windows自带的Microsoft XPS Document Writer设为默认打印机的原因. 但现在没有 ...

  6. DevExpress Winform 通用控件打印方法(允许可自定义边距) z

    DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有 ...

  7. 网页WEB打印控件制作-开放源码

    在WEB系统中,打印的确是比较烦人的问题,如果我们能制作一个属于自己的自定义的打印插件,那么我们在后续自定义打印的时候能随心所欲的控制打印,这样的效果对于程序员来说是非常开心的一件事件,本文将自己开发 ...

  8. 基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息

    在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于 ...

  9. [2014.01.27]wfPrintOcx 票据打印控件 v5.3

    支持选择打印机,并自动记忆选择的打印机. 适合打印各类票据格式. 支持画正方形.长方形.圆形.椭圆.横线.竖线.HTTP图片. 支持数字金额转换成中文大写金额. 可以设置固定宽度的文字自动换行. 组件 ...

随机推荐

  1. BZOJ 3262 陌上花开 CDQ分治

    = =原来复杂度还是nlog^2(n) Orz 被喷了 #include<cstdio> #include<cstdlib> #include<algorithm> ...

  2. c#基础语言编程-常用函数

    类型转换Convert Convert考虑数据意义的转换. Convert是一个加工.改造的过程.在使用Convert的转换过程中不会返回异常,当遇到类型转换的不知道的时候,用Convert找找. T ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(7)-MVC与EasyUI DataGrid

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(7)-MVC与EasyUI DataGrid 没有源码的同学跳到第六讲下载源码再来. 我们需要漂亮的UI, ...

  4. List<T>分组一

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  5. android 11 模拟onclick 事件

    package com.sxt.callback; public class Button { //预存一段按钮点击的响应代码 private OnclickListener mOnClickList ...

  6. WCF - 序列化

    数据是信息的载体 在不同环境中有不同的类型 为保证处于不同平台的的应用能够正常的进行数据交互 必须采用一种双方都能理解的数据类型 XML无疑是最好的选择 但不是唯一的选择 例如JSON也是一种普遍认可 ...

  7. post get

    /// <summary> /// Get方法 /// </summary> /// <param name="serverUrl">url地址 ...

  8. Oracle 卸载 不干净

    关闭oracle相关的服务 注册表删除(可能因为oracle及windows的版本不同注册表信息也有些差异): 开始è输入regedit 打开注册表编辑器删除下面的目录 HKEY_LOCAL_MACH ...

  9. heibernate增删改查总结一下自己的不足

    难点也就我不熟悉的是数据库语句的书写,要加强复杂查询语句的书写 /* 简单的在共享类中已经可以用的了 * 总结: * * --------------------------------------查 ...

  10. 基于事件的异步模式——BackgroundWorker

    实现异步处理的方法很多,经常用的有基于委托的方式,今天记录的是基于事件的异步模式.利用BackgroundWorker组件可以很轻松的实现异步处理,并且该组件还支持事件的取消.进度报告等功能.本文以计 ...