我正在编写一个Windows窗体应用程序,要求用户连续选择与任务相对应的文件:每个任务一个特定文件。 现在,在调用OpenFileDialog之前,系统会提示用户选择与当前任务对应的文件,并在上一个窗口中指定任务名称。我担心经过多次迭代后,用户将不会回想起他当前正在为其选择文件的任务。 显而易见的解决方案是使用OpenFileDialog在同一个Window上显示包含任务名称的提示。 由于OpenFileDialog是一个密封类,因此无法继承。 有没有办法做不到编码我自己的文件选择工具?
答案 0 :(得分:2)
您可以设置Title
的{{1}}以显示与任务相关的信息。
或强>
为什么不提前显示Dialog
(像这样)?
MessageBox
<强>更新强>
查看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
例如,你可以问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;
,您可以中止选择,对话框仍然打开。