白色 - 文件打开对话框

时间:2010-08-17 11:49:11

标签: c# winforms white

这是我的问题。我有一个应用程序,它打开一个文件打开对话框,我试图在文件路径和文件名中输入“文件名:”组合框部分。

应用程序使用您登录的表单加载。这将打开另一个表单,其中有许多按钮。选择其中一个按钮可打开另一个表单。在这种形式中,有一个按钮来选择文件。在这个阶段,有3种形式开放。这将打开标准文件打开对话框。我似乎无法处理此文件打开对话框。

这是我正在使用的代码。

Window LoginForm = application.GetWindow("LoginForm");
LoginForm.Get<Button>("btnSelectFiles").Click(); // This is from the 3rd form that is opened 

出于某种原因,我可以使用LoginForm变量访问其他表单中的所有按钮。 我尝试了以下内容。

Window FileOpenDialog = application.GetWindow("Open", InitializeOption.NoCache);

这不起作用。

我也尝试过以下操作,但这会返回null。我以为我可以使用LoginForm变量访问它。

Win32ComboBox comboBox = LoginForm.Get<Win32ComboBox>("Filename"); 

有什么想法吗?感谢

2 个答案:

答案 0 :(得分:7)

打开文件对话框是一个模态窗口。您需要使用LoginForm.ModalWindows()功能。来自white project wiki

Window mainWindow = application.GetWindow("main");
List<Window> modalWindows = mainWindow.ModalWindows(); //list of all the modal windows belong to the window.
Window childWindow = mainWindow.ModalWindow("child"); //modal window with title "child"
childWindow.IsModal; //returns true

答案 1 :(得分:0)

  

标准文件打开对话框。我似乎无法处理此文件打开对话框。

另一个解决方案就是

Window FileOpenDialog = application.GetWindows().Last();

我一直都在使用它,因为在显示(并给出它的模态)时,OpenFileDialog是你在应用程序中打开的最后一个窗口;对于这个问题,我无法想出更好的单线解决方案。