public void TestComboBoxDropDownVisibleEventAsync()
 {
     NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1008));
     Async async = new Async();
     combo.EmulateChangeDropDownVisible(true, async);
     Assert.IsTrue(0 < MessageBoxUtility.CloseAll(testDlg, async));
     combo.EmulateChangeDropDownVisible(false);
 }
 public void TestComboBoxEx32DropDownVisibleEventAsync()
 {
     //非同期実行ができること。CBN_DROPDOWNのイベントでメッセージボックスが表示されるのでそれを閉じる。
     NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1009));
     Async async = new Async();
     combo.EmulateChangeDropDownVisible(true, async);
     Assert.IsTrue(0 < MessageBoxUtility.CloseAll(testDlg, async));
     combo.EmulateChangeDropDownVisible(false);
 }
        public void TestComboBoxEx32DropDownVisibleEvent()
        {
            NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1007));

            //イベント発生テスト。指定の状態と現在の状態が同じ場合はイベントの通知は発生しない。
            //それ以外は開いたときにCBN_DROPDOWN、閉じたときにCBN_CLOSEUPが発生すること。
            Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg,
                delegate { combo.EmulateChangeDropDownVisible(true); },
                CreateIgnorMessage(1007),
                new CodeInfo(1007, NativeMethods.WM_COMMAND, CBN_DROPDOWN)));

            Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg,
                delegate { combo.EmulateChangeDropDownVisible(true); },
                CreateIgnorMessage(1007),
                new CodeInfo[0]));

            Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg,
                delegate { combo.EmulateChangeDropDownVisible(false); },
                CreateIgnorMessage(1007),
                new CodeInfo(1007, NativeMethods.WM_COMMAND, CBN_SELENDCANCEL), 
                new CodeInfo(1007, NativeMethods.WM_COMMAND, CBN_CLOSEUP)));

            Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg,
                  delegate { combo.EmulateChangeDropDownVisible(false); },
                CreateIgnorMessage(1007),
                new CodeInfo[0]));
        }