8

これは私の問題です。ファイルを開くダイアログ ボックスを開くアプリケーションがあり、ファイル パスとファイル名を [ファイル名:] コンボ ボックス セクションに入力しようとしています。

アプリケーションは、ログインするフォームをロードします。これにより、多数のボタンがある別のフォームが開きます。これらのボタンのいずれかを選択すると、別のフォームが開きます。ファイルを選択するボタンがあるのはこの形です。この段階では、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"); 

何か案は?ありがとう

4

2 に答える 2

7

ファイルを開くダイアログはモーダルウィンドウです。この関数を使用する必要がありLoginForm.ModalWindows()ます。ホワイトプロジェクトウィキから:

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
于 2010-08-24T13:12:45.270 に答える