static void OpenFile(WindowControl fileDialog, string path)
        {
            //ボタン取得
            var buttonOpen = new NativeButton(fileDialog.IdentifyFromWindowText("開く(&O)"));

            //コンボボックスは二つある場合がある。
            //下の方を採用。
            var comboBoxPathSrc = fileDialog.GetFromWindowClass("ComboBoxEx32").OrderBy(e =>
            {
                RECT rc;
                GetWindowRect(e.Handle, out rc);
                return rc.Top;
            }).Last();
            var comboBoxPath = new NativeComboBox(comboBoxPathSrc);

            //パスを設定
            comboBoxPath.EmulateChangeEditText(path);

            //開くボタンを押す
            buttonOpen.EmulateClick();
        }
        public void TestComboBoxEx32TextChangeEvent()
        {
            NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1007));

            //イベント発生テスト。
            //CBN_EDITCHANGEが発生すること。
            combo.EmulateSelectItem(0);
            Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg,
               delegate { combo.EmulateChangeEditText("abc"); },
                //無視。
                CreateIgnorMessage(1007, new CodeInfo(1007, NativeMethods.WM_COMMAND, CBN_SELENDCANCEL)),
                //期待値。
                new CodeInfo(1007, NativeMethods.WM_COMMAND, CBN_EDITCHANGE)));
            combo.EmulateChangeEditText(string.Empty);
        }
 public void TestComboBoxEx32TextChangeEventAsync()
 {
     NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1009));
     Async async = new Async();
     combo.EmulateChangeEditText("abc", async);
     Assert.IsTrue(0 < MessageBoxUtility.CloseAll(testDlg, async));
 }
        public void TestComboBoxTextChangeEvent()
        {
            NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1006));

            //イベント発生テスト。
            //CBN_EDITCHANGEが発生すること。
            //ComboBoxはCBN_EDITUPDATEも発生すること。
            Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg,
                delegate { combo.EmulateChangeEditText("abc"); },
                CreateIgnorMessage(1006),
                new CodeInfo(1006, NativeMethods.WM_COMMAND, CBN_EDITCHANGE),
                new CodeInfo(1006, NativeMethods.WM_COMMAND, CBN_EDITUPDATE)));
            combo.EmulateChangeEditText(string.Empty);
        }