将提示添加到OpenFileDialog

时间:2017-10-10 05:44:17

标签: c# winforms openfiledialog

我正在编写一个Windows窗体应用程序,要求用户连续选择与任务相对应的文件:每个任务一个特定文件。 现在,在调用OpenFileDialog之前,系统会提示用户选择与当前任务对应的文件,并在上一个窗口中指定任务名称。我担心经过多次迭代后,用户将不会回想起他当前正在为其选择文件的任务。 显而易见的解决方案是使用OpenFileDialog在同一个Window上显示包含任务名称的提示。 由于OpenFileDialog是一个密封类,因此无法继承。 有没有办法做不到编码我自己的文件选择工具?

1 个答案:

答案 0 :(得分:2)

您可以设置Title的{​​{1}}以显示与任务相关的信息。

为什么不提前显示Dialog(像这样)?

MessageBox

enter image description here

<强>更新

查看documentation for OpenFileDialog。 有一个名为MessageBox.Show("Please select file for TASK 00001", "Select File"); //Execution will continue on UserClick on OK on that MessageBox => User should have read that message and should know what task is related OpenFileDialog dialog = new OpenFileDialog(); dialog.Title = "SELECT FILE FOR <YOUR TASKNAME GOES HERE>"; if(dialog.ShowDialog() == DialogResult.OK) { string path = dialog.FileName; //Continue with your logic } 的{​​{1}}在选择文件时被触发。 你可以实施某事。像这样:

Event

不要忘记附上该事件:

FileOK

enter image description here

例如,你可以问private void Dialog_FileOk(object sender, CancelEventArgs e) { DialogResult result = MessageBox.Show("ARE U SURE ?", "?", MessageBoxButtons.YesNoCancel); switch (result) { case DialogResult.Cancel: e.Cancel = true; break; case DialogResult.Yes: break; case DialogResult.No: e.Cancel = true; break; } } 。同样使用dialog.FileOk += Dialog_FileOk; ,您可以中止选择,对话框仍然打开。