Exemplo n.º 1
0
        /// <summary>
        /// Event handler for CommandStateChange -- update our internal command states
        /// then re-fire this event to listeners.
        /// </summary>
        /// <param name="sender">object sending the event</param>
        /// <param name="e">event parameters</param>
        private void AxWebBrowser_CommandStateChange(
            object sender, DWebBrowserEvents2_CommandStateChangeEvent e)
        {
            // constants representing possible command state changes
            const int CSC_UPDATECOMMANDS  = -1;
            const int CSC_NAVIGATEFORWARD = 1;
            const int CSC_NAVIGATEBACK    = 2;

            // Back button state changed
            if (e.command == CSC_NAVIGATEBACK)
            {
                m_goBackCommand.SetEnabled(e.enable);
            }
            // Forward button state changed
            else if (e.command == CSC_NAVIGATEFORWARD)
            {
                m_goForwardCommand.SetEnabled(e.enable);
            }
            // General command state change
            else if (e.command == CSC_UPDATECOMMANDS)
            {
                // Do manual update on m_stopCommand
                m_stopCommand.SetEnabled(m_browser.Busy);

                // No update needed for m_refreshCommand or m_goHomeCommand
                // (both are always enabled)
            }

            // fire the CommandStateChanged event so listeners can update their UI
            OnCommandStateChanged(EventArgs.Empty);
        }
Exemplo n.º 2
0
        protected void AxWebBrowser_CommandStateChange(object sender, DWebBrowserEvents2_CommandStateChangeEvent e)
        {
            if (e.command.Equals(SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEBACK))
            {
                MenuItem miView = MenuMain.MenuItems[2];
                MenuItem miGoTo = miView.MenuItems[3];
                miGoTo.MenuItems[0].Enabled = e.enable;
                TbBack.Enabled = e.enable;
            }
            if (e.command.Equals(SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEFORWARD))
            {
                MenuItem miView = MenuMain.MenuItems[2];
                MenuItem miGoTo = miView.MenuItems[3];
                miGoTo.MenuItems[1].Enabled = e.enable;
                TbForward.Enabled           = e.enable;
            }
            if (e.command.Equals(SHDocVw.CommandStateChangeConstants.CSC_UPDATECOMMANDS))
            {
                Int32 EnabledTest = Convert.ToInt32(SHDocVw.OLECMDF.OLECMDF_SUPPORTED)
                                    + Convert.ToInt32(SHDocVw.OLECMDF.OLECMDF_ENABLED);
                bool RefreshTest = EnabledTest.Equals(AxWebBrowser.QueryStatusWB //Refresh
                                                          (SHDocVw.OLECMDID.OLECMDID_REFRESH));

                TbRefresh.Enabled = RefreshTest;
                TbMail.Enabled    = RefreshTest;
                TbEdit.Enabled    = RefreshTest;
                TbStop.Enabled    = AxWebBrowser.Busy;
                TbPrint.Enabled   = EnabledTest.Equals(AxWebBrowser.QueryStatusWB
                                                           (SHDocVw.OLECMDID.OLECMDID_PRINT));
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// 这里控制“前进”和“后退”按钮是否可用
 /// </summary>
 private void AxWebBrowser1_CommandStateChange(object sender, DWebBrowserEvents2_CommandStateChangeEvent e)
 {
     if (e.command == 1)
     {
         btnGoFoward.Enabled = e.enable;
     }
     else if (e.command == 2)
     {
         btnGoBack.Enabled = e.enable;
     }
 }