一、MessageBox弹出框

MessageBox.Show(<字符串> Text, <字符串> Title, <整型> nType,MessageBoxIcon);

  • 第一个参数是 String 类型,表示提示框里面的 内容;
  • 第二个参数是String 类型,表示提示框的 标题;
  • 第三个参数是整数类型,表示消息框的类型  ,一般的都使用系统提供的几种类型;
  • 第四个参数是提示框的 图标,比如说警告、提示、问题等等。

MessageBoxButtons类型:

  • AbortRetryIgnore: 消息框包含“中止”、“重试”和“忽略”按钮。
  • OK :消息框包含“确定”按钮。(默认)
  • OKCancel : 消息框包含“确定”和“取消”按钮。(上例所示)
  • RetryCancel  :消息框包含“重试”和“取消”按钮。
  • YesNo :消息框包含“是”和“否”按钮。
  • YesNoCancel :消息框包含“是”、“否”和“取消”按钮

MessageBoxIcon图标样式:

  • MessageBoxIcon.Question
    MessageBoxIcon.Asterisk
    MessageBoxIcon.Information
    MessageBoxIcon.Error
    MessageBoxIcon.Stop
    MessageBoxIcon.Hand
    MessageBoxIcon.Exclamation
    MessageBoxIcon.Warning

举例

    MessageBox.Show("用户名或者密码不能为空");
    MessageBox.Show("用户名或者密码不能为空","登录提示");
    MessageBox.Show("用户名或者密码不能为空","登录提示",MessageBoxButtons.OKCancel);
    MessageBox.Show("用户名或者密码不能为空","登录提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation);

二、WinForm自带对话框

除PrintPreviewDialog外,所有的对话框都继承于抽象类CommonDialog。

CommonDialog的继承结构

1、文件对话框(FileDialog) 它又常用到两个:
  打开文件对话框(OpenFileDialog)
  保存文件对话(SaveFileDialog)
2、字体对话框(FontDialog)
3、颜色对话框(ColorDialog)
4、打印预浏对话框(PrintPreviewDialog)
5、页面设置(PrintDialog)
6、打印对话框(PrintDialog)

CommonDialog的方法

  • OnHelpRequest(EventArgs):    引发 HelpRequest 事件。
  • Reset():在派生类中被重写时,将通用对话框的属性重置为默认值。
  • ShowDialog():    用默认的所有者运行通用对话框。
  • ShowDialog(IWin32Window) :   运行具有指定所有者的通用对话框。

1、打开文件对话框(OpenFileDialog)


基本属性

  • InitialDirectory 对话框的初始目录
  • Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
  • FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
  • RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
  • FileName 获取或设置一个包含在文件对话框中选定的文件名的字符串。
  • Title 将显示在对话框标题栏中的字符
  • AddExtension 是否自动添加默认扩展名
  • CheckPathExists 在对话框返回之前,检查指定路径是否存在
  • DefaultExt 默认扩展名
  • DereferenceLinks 在从对话框返回前是否取消引用快捷方式
  • ShowHelp 启用"帮助"按钮
  • ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列

示例

System.Windows.Forms.OpenFileDialog dlg = new System.Windows.Forms.OpenFileDialog();
dlg.Title = "打开文件";
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Templates);
dlg.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
dlg.FilterIndex = 2;
dlg.RestoreDirectory = true;
if (dlg.ShowDialog() == DialogResult.OK)
{
if (dlg.FileName != "") //如果dlg.Multiselect=true;可以是dlg.FileNames
{
MessageBox.Show("你选择了" + dlg.FileName);
}
}

2、保存文件对话框(SaveFileDialog)

属性

  • Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"
  • FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
  • RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
  • AddExtension 是否自动添加默认扩展名
  • CheckFileExists 获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。
  • CheckPathExists 在对话框返回之前,检查指定路径是否存在
  • Container 控制在将要创建文件时,是否提示用户。只有在ValidateNames为真值时,才适用。
  • DefaultExt 缺省扩展名
  • DereferenceLinks 在从对话框返回前是否取消引用快捷方式
  • FileName 获取或设置一个包含在文件对话框中选定的文件名的字符串。
  • InitialDirector 对话框的初始目录
  • OverwritePrompt 控制在将要在改写现在文件时是否提示用户,只有在ValidateNames为真值时,才适用
  • ShowHelp 启用"帮助"按钮
  • Title 将显示在对话框标题栏中的字符
  • ValidateNames 控制对话框检查文件名中是否不含有无效的字符或序列

示例

System.IO.Stream stream;
System.Windows.Forms.SaveFileDialog saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
saveFileDialog1.FilterIndex = 2;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((stream = saveFileDialog1.OpenFile()) != null)
{
// Code to write the stream goes here.
stream.Close();
}
}

3、打印预览对话框和打印对话框

1、打印预览对话框(PrintPreviewDialog)属性:

  • AutoScrollMargin 获取或设置自动滚动边距的大小。

  • AutoScrollMinSize 获取或设置自动滚动的最小尺寸。

  • DialogResult 获取或设置窗体的对话框结果。

  • Document 获取或设置要预览的文档。

  • HelpButton 获取或设置一个值,该值指示是否应在窗体的标题框中显示“帮助”按钮。

2、打印对话框(PrintDialog)属性:

  • AllowPrintToFile 禁止或使用"打印到文件"复选框

  • AllowSelection 禁止或使用"选定内容"单选框

  • AllowSomePages 禁止或使用"页"单选按钮

  • Document 从中获取打印机设置的PrintDocument

  • PrintToFile 打印到文件"复选框是否选中
  • ShowHelp 控制是否显示"帮助"按钮
  • ShowNetWork 控制是否显示"网络"按钮

3、示例:

private void printPreviewButton_Click(object sender, EventArgs e)
{
StreamReader streamToPrint = new StreamReader("PrintMe.Txt");
try
{
PrintDocument pd = new PrintDocument(streamToPrint); //假定为默认打印机
if (storedPageSettings != null)
{
pd.DefaultPageSettings = storedPageSettings;
}
PrintPreviewDialog dlg = new PrintPreviewDialog();
dlg.Document = pd;
dlg.ShowDialog();
}
finally
{
streamToPrint.Close();
} } private void printButton_Click(object sender, EventArgs e)
{ StreamReader streamToPrint = new StreamReader("PrintMe.Txt");
try
{
PrintDocument pd = new PrintDocument(streamToPrint);
PrintDialog dlg = new PrintDialog();
dlg.Document = pd;
DialogResult result = dlg.ShowDialog();
if (result == DialogResult.OK)
pd.Print(); }
finally
{
streamToPrint.Close();
} }

三、自定义对话框

1 模态窗口: ShowDialog():

打开模态窗口后,只要不关闭该窗口,鼠标焦点或者光标就会一直停留在该窗口上。只有关闭该窗口后,调用窗口才能继续。

模态窗口关闭后,仍可以读取模态窗口中的信息,如窗口的返回状态等,以后还可以使用ShowDialog()使其可见。

2 非模态窗口: Show():

打开非模态窗口后,仍可以操作调用窗口。后面的代码立即执行。

关闭非模态窗口,该窗口将不复存在,会释放窗口的所有资源,所以无法得到该窗口的任何信息。常用Hide()方法(等效于Visible=false)然后调用Show()方法使其可见。

3、对话框窗体:Form2

public Form1(string para)//获取参数
{
InitializeComponent(); this.StartPosition = FormStartPosition.CenterParent;//启动位置,父窗口中央
this.MaximizeBox = false;
this.MinimizeBox = false;
this.ShowIcon = false;//不显示图标
this.ControlBox = false;
this.ShowInTaskbar = false;
this.FormBorderStyle = FormBorderStyle.FixedDialog;//边框样式为固定对话框
this.btnOK.DialogResult = DialogResult.OK;//"Enter"为OK按钮
this.btnCancel.DialogResult = DialogResult.Cancel;//“ESC”为Cancel按钮
this.textBox1.Text = para;
} public string ReturnText //定义一个公共属性,供调用窗口Form1使用
{
get { return this.textBox1.Text + "b"; }
} private void Form1_Load(object sender, EventArgs e)
{
if (this.Owner.Name != "Form1")//Owner为调用窗体,即调用改对话框的窗体
MessageBox.Show("非法调用");
} private void BtnOK_Click(object sender, EventArgs e)
{
if (this.textBox1.Text.Trim().Length == 0)
MessageBox.Show("无输入");
this.textBox1.Focus();
this.DialogResult = DialogResult.None;//阻止隐藏对话框,对话框不消失
}

4、主窗体Form1:

Form f2 = new Form2("a");

if (f2.ShowDialog(this) == DialogResult.OK)//对应Form2中的Owner,this为给对话框窗体传值
this.textBox1.Text = f2.ReturnText;
f2.Close();
f2.Dispose();

Windows Dialog对话框的更多相关文章

  1. Android UI系列-----Dialog对话框

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  2. Android中制作自定义dialog对话框的实例

    http://www.jb51.net/article/83319.htm   这篇文章主要介绍了Android中制作自定义dialog对话框的实例分享,安卓自带的Dialog显然不够用,因而我们要继 ...

  3. matlab学习------------普通dialog对话框,错误对话框errordlg,警告对话框warndlg

    Dialog对话框 语法: h = dialog('PropertyName',PropertyValue,...) 对话框的默认属性 WindowStyle的值:   {normal} | moda ...

  4. android从Dialog对话框中取得文本文字

    android中Dialog对话框获取文本文字,只需要使用editor的getText方法就可以获得,示例如下:final EditText et = new EditText(this); et.s ...

  5. 窗口-EasyUI Window 窗口、EasyUI Dialog 对话框、EasyUI Messager 消息框

    EasyUI Window 窗口 扩展自 $.fn.panel.defaults.通过 $.fn.window.defaults 重写默认的 defaults. 窗口(window)是一个浮动的.可拖 ...

  6. Android之UI--打造12种Dialog对话框

    最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...

  7. 第二百零四节,jQuery EasyUI,Dialog(对话框)组件

    jQuery EasyUI,Dialog(对话框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Dialog(窗口)组件的使用方法,这个组件依赖 ...

  8. JQuery Dialog对话框 不能通过Esc关闭

    背景:想通过Esc键关闭展示中的Dialog对话框,发现有些对话框可以,有些会失效. 原因分析: 1.对话框上可以输入内容的标签元素可以,反之不行. 2.如果鼠标点击对话框后,也可以Esc键关闭. 可 ...

  9. Android学习(十九)Dialog对话框

    一.什么是Dialog对话框 对话框是当前页面中弹出的一个小窗口,用于显示重要的提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等.用户需要与对话框进行交互,才能回到原窗 ...

随机推荐

  1. CentOS系统安装配置JDK

    我们可以通过xftp工具将jdk文件上传至CentOS系统指定文件夹中 一.安装jdk 进入jdk存放目录,将jdk解压至install文件夹中: tar -zxf jdk-8u151-linux-x ...

  2. windows服务器入门 使用FileZilla搭建FTP服务

    下载FileZilla Server(注意:我搭建ftp的时候,有一个fz的版本会报错,百度了老半天都没有解决这个问题,回来我换了一个版本就可以.如果你们也出现了不知道怎么搞定的问题的话   可以考虑 ...

  3. EMR目录

    EMR目录: E-MapReduce 是阿里云上的开源大数据平台,用户可以登录集群主节点查看相关安装路径. 登录后也可以使用 env |grep xxx 查看. 或者,在EMR Hadoop集群,切换 ...

  4. K8S从入门到放弃系列-(14)Kubernetes集群Dashboard部署

    Dashboard是k8s的web界面,用户可以用 Kubernetes Dashboard 部署容器化的应用.监控应用.并对集群本身进行管理,在 Kubernetes Dashboard 中可以查看 ...

  5. 记一次Spring Cloud压力测试

    前言 公司打算举办一场活动,现场参与活动人数比较多.针对于可能访问比较密集的接口进行压力测试.使用jmeter进行测试,请求并发稍微多些,系统就会挂起. 针对压力测试出现的问题,因为并发超过1秒钟10 ...

  6. 认识 Spring 框架(一)

    认识 Spring 框架 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP( ...

  7. time模块/datetime模块/calendar模块

    time模块时间的表示形式时间戳:以整型或浮点型表示⼀个时间,该时间以秒为单位,这个时间是以1970年1⽉1⽇0时0分0秒开始计算的. 导入time import time 1.返回当前的时间戳 no ...

  8. 【Pandas数据分析案例】2018年北京积分入户情况分析

    据说,北京落户的难度比加入美国国籍还高.而北京2018年首次实行积分入户制,让我们来分析一下首批通过积分入户拿到北京户口的数据. 首先从北京积分落户官网下载公示名单: 根据表格中的信息,我们主要从以下 ...

  9. 使用HSI配置系统时钟

    这里我就直接粘代码了.很简单.上节理解了 这也就能简单了. void HSI_SetSysClk( uint32_t RCC_PLLMul_x ) { __IO uint32_t HSIStatus ...

  10. docker 实践二:操作镜像

    本篇我们来详细介绍 docker 镜像的操作. 注:环境为 CentOS7,docker 19.03 之前已经说过,容器是 docker 的核心概念之一,所以对应的就需要知道它的使用方法,接下来我们就 ...