示例#1
0
        private void InitGameTab()
        {
            if (tabControlLeft == null)
            {
                return;
            }

            if (tabControlLeft.TabPages.Count == 0)
            {
                return;
            }

            var tabPage = tabControlLeft.TabPages[0];

            tabPage.Text = AppVars.Profile.UserNick;
            TabClass tabClass;

            if (tabPage.Tag == null)
            {
                tabClass = new TabClass {
                    MyType = TabType.Game, WB = browserGame
                };
                tabPage.Tag = tabClass;
            }

            browserGame.BeforeNewWindow   -= wbTab_BeforeNewWindow;
            browserGame.BeforeNavigate    -= browserGame_BeforeNavigate;
            browserGame.DocumentCompleted -= browserGame_DocumentCompleted;

            panelGame.Controls.Remove(browserGame);
            browserGame.Dispose();
            browserGame = null;
            CookiesManager.ClearGame();

            browserGame = new ExtendedWebBrowser
            {
                Dock = DockStyle.Fill,
                Name = "browserGame",
                ScriptErrorsSuppressed = true,
                TabIndex           = 0,
                ObjectForScripting = new ScriptManager()
            };

            browserGame.BeforeNewWindow   += wbTab_BeforeNewWindow;
            browserGame.BeforeNavigate    += browserGame_BeforeNavigate;
            browserGame.DocumentCompleted += browserGame_DocumentCompleted;

            panelGame.Controls.Add(browserGame);
            tabClass             = (TabClass)tabPage.Tag;
            tabClass.WB          = browserGame;
            tabPage.Tag          = tabClass;
            buttonGameScreen.Tag = browserGame;

            var url = HelperConverters.AddressEncode(string.Concat("http://www.neverlands.ru/pinfo.cgi?", "Мастер Создатель"));

            browserGame.Navigate(url);
            while (browserGame != null && !browserGame.IsDisposed && browserGame.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }

            if (browserGame != null && !browserGame.IsDisposed)
            {
                browserGame.Navigate(Resources.AddressNeverlands);
                while (browserGame != null && !browserGame.IsDisposed &&
                       browserGame.ReadyState != WebBrowserReadyState.Complete)
                {
                    Application.DoEvents();
                }

                if (browserGame != null && !browserGame.IsDisposed)
                {
                    browserGame.Navigate(Resources.AddressNeverlands);
                }
            }
        }
示例#2
0
        private void InitGameTab()
        {
            try
            {
                if (AppVars.MainForm != null)
                {
                    AppVars.MainForm.BeginInvoke(
                        new UpdateTexLogDelegate(AppVars.MainForm.UpdateTexLog),
                        new object[] { "InitGameTab()" });
                }
            }
            catch (InvalidOperationException)
            {
            }

            if (tabControlLeft == null)
            {
                return;
            }

            if (tabControlLeft.TabPages.Count == 0)
            {
                return;
            }

            var tabPage = tabControlLeft.TabPages[0];

            tabPage.Text = AppVars.Profile.UserNick;
            TabClass tabClass;

            if (tabPage.Tag == null)
            {
                tabClass = new TabClass {
                    MyType = TabType.Game, WB = browserGame
                };
                tabPage.Tag = tabClass;
            }

            browserGame.BeforeNewWindow   -= wbTab_BeforeNewWindow;
            browserGame.BeforeNavigate    -= browserGame_BeforeNavigate;
            browserGame.DocumentCompleted -= browserGame_DocumentCompleted;

            panelGame.Controls.Remove(browserGame);
            browserGame.Dispose();
            browserGame = null;
            CookiesManager.ClearGame();

            browserGame = new ExtendedWebBrowser
            {
                Dock = DockStyle.Fill,
                Name = "browserGame",
                ScriptErrorsSuppressed = true,
                TabIndex           = 0,
                ObjectForScripting = new ScriptManager()
            };

            browserGame.BeforeNewWindow   += wbTab_BeforeNewWindow;
            browserGame.BeforeNavigate    += browserGame_BeforeNavigate;
            browserGame.DocumentCompleted += browserGame_DocumentCompleted;

            panelGame.Controls.Add(browserGame);
            tabClass             = (TabClass)tabPage.Tag;
            tabClass.WB          = browserGame;
            tabPage.Tag          = tabClass;
            buttonGameScreen.Tag = browserGame;

            /*
             * var encnick = HelperConverters.NickEncode("Мастер Создатель");
             * var url = $"http://www.neverlands.ru/pinfo.cgi?{encnick}";
             * browserGame.Navigate(url);
             * while (browserGame != null && !browserGame.IsDisposed && browserGame.ReadyState != WebBrowserReadyState.Complete)
             *  Application.DoEvents();
             *
             */

            if (browserGame != null && !browserGame.IsDisposed)
            {
                browserGame.Navigate(Resources.AddressNeverlands);

                try
                {
                    if (AppVars.MainForm != null)
                    {
                        AppVars.MainForm.BeginInvoke(
                            new UpdateTexLogDelegate(AppVars.MainForm.UpdateTexLog),
                            new object[] { $"browserGame.Navigate({Resources.AddressNeverlands})" });
                    }
                }
                catch (InvalidOperationException)
                {
                }

                while (browserGame != null && !browserGame.IsDisposed &&
                       browserGame.ReadyState != WebBrowserReadyState.Complete)
                {
                    Application.DoEvents();
                }

                /*
                 * if (browserGame != null && !browserGame.IsDisposed)
                 *  browserGame.Navigate(Resources.AddressNeverlands);
                 */
            }
        }