【问题标题】:White - File Open Dialog Box白色 - 文件打开对话框
【发布时间】:2010-08-17 11:49:10
【问题描述】:

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

应用程序会加载一个您登录的表单。这会打开另一个表单,其中有许多按钮。选择其中一个按钮会打开另一个表单。正是在这种形式中,有一个选择文件的按钮。在这个阶段,打开了 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"); 

有什么想法吗?谢谢

【问题讨论】:

    标签: c# winforms white-framework


    【解决方案1】:

    打开文件对话框是一个模式窗口。您将需要使用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
    

    【讨论】:

      【解决方案2】:

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

      另一种解决方案就是

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

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

      【讨论】:

        猜你喜欢
        • 2010-12-11
        • 1970-01-01
        • 2013-05-12
        • 2022-01-23
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多