这是我的问题。我有一个应用程序,它打开一个文件打开对话框,我试图在文件路径和文件名中输入“文件名:”组合框部分。
应用程序使用您登录的表单加载。这将打开另一个表单,其中有许多按钮。选择其中一个按钮可打开另一个表单。在这种形式中,有一个按钮来选择文件。在这个阶段,有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");
有什么想法吗?感谢
答案 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
是你在应用程序中打开的最后一个窗口;对于这个问题,我无法想出更好的单线解决方案。