Windows 窗体中的对话框用于与用户交互和检索信息,还包括预定义的对话框(如 “文件打开” 和 “信息框”),您可以根据自己的应用程序进行调整特定需求自定义的对话框。
信息框
例子:
//MessageBox.Show(string text);
MessageBox.Show("我是一个信息框");
详细参数:
MessageBox.Show(
string text,
string caption,
MessageBoxButtons.buttons,
MessageBoxIcon.icon,
MessageBoxDefaultButton.defaultButton,
MessageBoxOptions.options,
bool displayHelpButton
);
-
text
参数为string
类型,作为信息框主体内容。 -
caption
参数为string
类型,作为信息框的标题。 -
MessageBoxButtons
按钮对象作为当前信息框按钮,有多个属性选择,如:YesNoCancel
是/否/取消。OKCancel
确认/取消。 -
MessageBoxIcon
图标对象作为当前信息框小图标,有多个属性选择,如:Warning
警告。Information
普通。 -
MessageBoxDefaultButton
默认按钮对象作为当前信息框按钮的默认值(回车默认按钮),根据MessageBoxButtons
对象选择属性,如选择了OKCancel
:Button1
选择了第一个按钮作为默认值。Button2
选择了第二个按钮作为默认值。 -
MessageBoxOptions
设置信息框对象,可以设置信息框的文字左对齐、右对齐等,如:RtlReading
小图标向右。RightAlign
标题向右对齐。 -
displayHelpButton
是否显示帮助按钮。如true
。
窗体对话框
模式窗体:
模式窗体就是使用ShowDialog方法显示的窗体,它在显示时,如果作为激活窗体,则其他窗体不可用,只有在将模式窗体关闭之后,其他窗体才能恢复可用状态。
//必须设置一个已有的窗体作为模式窗体,如Form1();
Form1 frm = new Form1();
frm.ShowDialog();
非模式窗体:
非模式窗体就是使用Show方法显示的窗体,一般的窗体都是非模式窗体。非模式窗体在显示时,如果有多个窗体,用户可以单击任何一个窗体,单击的窗体将立即成为激活窗体并显示在屏幕的最前面。
//必须设置一个已有的窗体作为非模式窗体,如Form1();
Form1 frm = new Form1();
frm.Show();
打开文件对话框
OpenFileDialog控件表示一个通用对话框,用户可以使用此对话框来指定一个或多个要打开的文件的文件名。
//InitialDirectory为默认打开的路径。
//Filter属性可以指定允许打开/选择的目标对象。
openFileDialog1.InitialDirectory = "C:\\";
openFileDialog1.Filter = "bmp文件(*.bmp)|*.bmp|gif文件(*.gif)|*.gif|jpg文件(*.jpg)|*.jpg";
openFileDialog1.ShowDialog();
扩展例子:https://blog.csdn.net/u011108093/article/details/81627935
另存对话框
SaveFileDialog控件表示一个通用对话框,用户可以使用此对话框来指定一个要将文件另存为的文件名。
//Filter属性为另存的格式。
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
saveFileDialog1.ShowDialog();
扩展例子:https://blog.csdn.net/u011108093/article/details/81627935
浏览文件夹对话框
FolderBrowserDialog控件主要用来提示用户选择文件夹。
//ShowNewFolderButton属性,是否显示新建文件夹按钮
folderBrowserDialog1.ShowNewFolderButton = false;
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
MessageBox.Show(folderBrowserDialog1.SelectedPath);
}
扩展例子:https://blog.csdn.net/u011108093/article/details/81627935
颜色对话框
ColorDialog控件表示一个通用对话框,用来显示可用的颜色并允许用户自定义颜色。
colorDialog1.ShowDialog();
MessageBox.Show(this.colorDialog1.Color);