本文介绍了C#中的对话框,通过示例代码非常详细的介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
一、MessageBox弹出框
MessageBox。Show(字符串文本、字符串标题、整数nType、messagebox icon);
第一个参数是String,表示提示框的内容;第二个参数是String,表示提示框的标题;第三个参数是整数类型,表示消息框的类型。一般使用系统提供的几种类型。第四个参数是提示框的图标,如警告、提示、问题等。
MessageBoxButtons类型:
AbortRetryIgnore:消息框包含中止、重试和忽略按钮。OK:消息框包含OK按钮。(默认值)OKCancel:消息框包含“确定”和“取消”按钮。(如上例所示)RetryCancel:消息框包含重试和取消按钮。YesNo:消息框包含“Yes”和“No”按钮。YesNoCancel:消息框包含是、否和取消按钮。
MessageBoxIcon图标样式:
MessageBoxIcon。问题
MessageBoxIcon。星号
MessageBoxIcon。信息
MessageBoxIcon。错误
MessageBoxIcon。停止
MessageBoxIcon。手
MessageBoxIcon。感叹
MessageBoxIcon。警告
举例
MessageBox。Show(“用户名或密码不能为空”);
MessageBox。Show('用户名或密码不能为空','登录提示');
MessageBox。Show('用户名或密码不能为空','登录提示',MessageBoxButtons。ok cancel);
MessageBox。Show('用户名或密码不能为空','登录提示',messageboxbuttons.okcancel,messagebox icon . exemption);
二、WinForm自带对话框
除了PrintPreviewDialog,所有对话框都继承自抽象类CommonDialog。
CommonDialog的继承结构
1.FileDialog,常用的有两种方式:OpenFileDialog、save file dialog、font dialog、color dialog、print preview dialog、page setup、PrintDialog、print dialog
CommonDialog的方法
OnHelpRequest(EventArgs):引发HelpRequest事件。Reset():当在派生类中被重写时,将泛型对话框的属性重置为它们的默认值。ShowDialog():使用默认所有者运行常规对话框。ShowDialog(IWin32Window):运行具有指定所有者的常规对话框。
1、打开文件对话框(OpenFileDialog)
基本属性
初始目录对话框的InitialDirectory过滤要在对话框中显示的文件过滤器,例如,“文本文件(*。txt)|*。txt|所有文件(*。*) | *.* " filter index如果选择了第一项,则在对话框中选择的文件筛选器的索引将设置为1RestoreDirectory。控制对话框关闭前是否恢复当前目录文件名。获取或设置一个字符串,该字符串包含在“文件”对话框中选择的文件名。显示在对话框标题栏中的字符会自动添加默认扩展名CheckPathExists吗?在对话框返回之前,请检查指定的路径是否具有默认的扩展取消引用链接。在从对话框返回之前,是否要取消引用快捷方式ShowHelp?启用“帮助”按钮ValiDateNames来控制对话框,以检查文件名是否不包含无效字符或序列。
例子
系统。windows . forms . openfile dialog DLG=新系统。windows . forms . openfile dialog();
Dlg。Title='打开文件';
dlg。InitialDirectory=环境。GetFolderPath(环境。special folder . Templates);
dlg。Filter='txt文件(*。txt)|*。txt |所有文件(*。*)|*.*';
dlg。filter index=2;
dlg。RestoreDirectory=true
如果(dlg。ShowDialog()==DialogResult。好的)
{
如果(dlg。文件名!='')//If dlg。Multiselect=true可以是dlg。文件名
{
MessageBox。显示('您选择了' dlg。文件名);
}
}
2、保存文件对话框(SaveFileDialog)
属性
过滤要在对话框中显示的文件过滤器,例如,“文本文件(*。txt)|*。txt|所有文件(*。*)|*.* " filter index在对话框中选择的文件过滤器的索引,如果选择了第一项,则它被设置为1。1RestoreDirectory控制对话框在关闭前是否还原当前目录。AddExtension自动添加默认扩展CheckFileExists。获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。CheckPathExists在对话框返回之前,检查指定路径中是否有容器。控制在即将创建文件时是否提示用户。仅在ValidateNames为true时适用。ext default ext extension de reference在从对话框返回之前,链接是否取消引用快捷方式文件名,以获取或设置包含在“文件”对话框中选择的文件名的字符串。OverwritePrompt是初始director对话框的InitialDirectory,它控制在覆盖当前文件时是否提示用户。只有当ValidateNames为true时,ShowHelp按钮才会启用。Title控制对话框检查文件名是否不包含无效字符或序列。
例子
系统。IO.Stream流;
系统。windows . forms . save file dialog save file dialog 1=新系统。windows . forms . savefiledialog();
保存文件对话框1。Filter='txt文件(*。txt)|*。txt |所有文件(*。*)|*.*';
保存文件对话框1。filter index=2;
保存文件对话框1。RestoreDirectory=true
if (saveFileDialog1。ShowDialog()==DialogResult。好的)
{
if ((stream=saveFileDialog1。OpenFile())!=空)
{
//这里是编写流的代码。
溪流。close();
}
}
3、打印预览对话框和打印对话框
1、打印预览对话框(PrintPreviewDialog)属性:
获取或设置自动滚动边距的大小。
获取或设置自动滚动的最小大小。
获取或设置窗体的对话框结果。
获取或设置要预览的文档。
获取或设置一个值,该值指示“帮助”按钮是否应显示在窗体的标题框中。
2、打印对话框(PrintDialog)属性:
AllowPrintToFile禁用或使用打印到文件复选框。
AllowSelection禁用或使用选择单选框。
AllowSomePages禁用或使用“页面”单选按钮
文档获取打印机设置的打印文档。
检查是否选中了打印到文件打印到文件复选框。ShowHelp控制是否显示帮助按钮。ShowNetWork控制是否显示网络按钮。
3、示例:
private void print preview button _ Click(对象发送方,EventArgs e)
{
StreamReader streamToPrint=new StreamReader(' print me。txt’);
尝试
{
print document PD=new print document(stream to print);//假定是默认打印机
if (storedPageSettings!=空)
{
警察。DefaultPageSettings=storedPageSettings;
}
PrintPreviewDialog DLG=new PrintPreviewDialog();
dlg。文档=pd
dlg。ShowDialog();
}
最后
{
streamToPrint。close();
}
}
私有void printButton_Click(对象发送方,EventArgs e)
{
StreamReader streamToPrint=new StreamReader(' print me。txt’);
尝试
{
print document PD=new print document(stream to print);
print dialog DLG=new print dialog();
dlg。文档=pd
DialogResult结果=dlg。ShowDialog();
if (result==DialogResult。好的)
警察。print();
}
最后
{
streamToPrint。close();
}
}
三、自定义对话框
1 模态窗口: ShowDialog():
模式窗口打开后,只要窗口没有关闭,鼠标焦点或光标就会停留在窗口上。只有在窗口关闭后,调用窗口才能继续。
在模式窗口关闭后,您仍然可以读取模式窗口中的信息,例如窗口的返回状态,并且您可以在以后使用ShowDialog()使其可见。
2 非模态窗口: Show():
非模态窗口打开后,调用窗口仍然可以操作。下面的代码会立即执行。
关闭无模式窗口,该窗口将不再存在,该窗口的所有资源都将被释放,因此你无法获得该窗口的任何信息。常用Hide()方法(相当于Visible=false)然后调用Show()方法使其可见。
3、对话框窗体:Form2
公共格式1(字符串段落)//获取参数
{
初始化组件();
这个起始位置=FormStartPosition .中心父母;//启动位置,父窗口中央
这个MaximizeBox=false
这个MinimizeBox=false
这个ShowIcon=false//不显示图标
这个ControlBox=false
这个ShowInTaskbar=false
这个窗体边框样式=窗体边框样式。固定对话;//边框样式为固定对话框
这个。Bt NOK。对话结果=对话结果.OK;//'回车'为好按钮
这个。BTN取消。对话结果=对话结果.取消;//"ESC "为取消按钮
这个。文本框1。text=para
}
公共字符串ReturnText //定义一个公共属性,供调用窗口表格一使用
{
获取{返回此。文本框1。文本“b”;}
}
私有void Form1_Load(对象发送方,EventArgs e)
{
如果(这个。主人。名字!=' form 1 ')//所有者为调用窗体,即调用改对话框的窗体
消息框.显示('非法调用');
}
私有void BtnOK_Click(对象发送方,EventArgs e)
{
if (this.textBox1.Text.Trim().长度==0)
消息框.显示('无输入');
这个。文本框1。焦点();
这个DialogResult=DialogResult .无;//阻止隐藏对话框,对话框不消失
}
4、主窗体Form1:
表格f2=新表格2(“a”);
如果(f2 .ShowDialog(this)==DialogResult .好)//对应表格2中的主人,这个为给对话框窗体传值
this.textBox1.Text=f2 .返回文本
f2 .close();
f2 .dispose();
到此这篇关于C#对话框对话的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。