예제 #1
0
 /// <summary>
 /// Required method for Designer support - do not modify
 /// the contents of this method with the code editor.
 /// </summary>
 private void InitializeComponent()
 {
     this.m_web         = new Rylogic.Gui.WinForms.WebBrowser();
     this.m_btn_forward = new System.Windows.Forms.Button();
     this.m_btn_back    = new System.Windows.Forms.Button();
     this.SuspendLayout();
     //
     // m_web
     //
     this.m_web.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                                                                | System.Windows.Forms.AnchorStyles.Left)
                                                               | System.Windows.Forms.AnchorStyles.Right)));
     this.m_web.Location    = new System.Drawing.Point(0, 0);
     this.m_web.MinimumSize = new System.Drawing.Size(20, 20);
     this.m_web.Name        = "m_web";
     this.m_web.Size        = new System.Drawing.Size(295, 218);
     this.m_web.TabIndex    = 0;
     //
     // m_btn_forward
     //
     this.m_btn_forward.Anchor   = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
     this.m_btn_forward.Location = new System.Drawing.Point(208, 229);
     this.m_btn_forward.Name     = "m_btn_forward";
     this.m_btn_forward.Size     = new System.Drawing.Size(75, 23);
     this.m_btn_forward.TabIndex = 1;
     this.m_btn_forward.Text     = "Forward";
     this.m_btn_forward.UseVisualStyleBackColor = true;
     //
     // m_btn_back
     //
     this.m_btn_back.Anchor   = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     this.m_btn_back.Location = new System.Drawing.Point(12, 229);
     this.m_btn_back.Name     = "m_btn_back";
     this.m_btn_back.Size     = new System.Drawing.Size(75, 23);
     this.m_btn_back.TabIndex = 2;
     this.m_btn_back.Text     = "Back";
     this.m_btn_back.UseVisualStyleBackColor = true;
     //
     // WebBrowserUI
     //
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
     this.AutoScaleMode       = System.Windows.Forms.AutoScaleMode.Font;
     this.ClientSize          = new System.Drawing.Size(295, 264);
     this.Controls.Add(this.m_btn_back);
     this.Controls.Add(this.m_btn_forward);
     this.Controls.Add(this.m_web);
     this.Name = "WebBrowserUI";
     this.Text = "web_browser_ui";
     this.ResumeLayout(false);
 }
예제 #2
0
        public HelpUI(Control parent, EContent type, string title, string content, Point?ofs = null, Size?size = null, EPin pin = EPin.TopRight, bool modal = false)
            : base(parent, pin, ofs ?? Point.Empty, size ?? Size.Empty, modal)
        {
            InitializeComponent();
            Type    = type;
            Text    = title;
            Content = content;

            m_btn_back.Enabled    = false;
            m_btn_forward.Enabled = false;
            SetStatusText(null);

            switch (Type)
            {
            default: throw new Exception("Unknown content type");

            case EContent.Text:
            {
                var txt = new TextBox
                {
                    Dock        = DockStyle.Fill,
                    BorderStyle = BorderStyle.None,
                    Multiline   = true,
                    ScrollBars  = ScrollBars.Both,
                    ReadOnly    = true,
                };
                txt.Text = Content;
                TextCtrl = txt;
                break;
            }

            case EContent.Rtf:
            {
                var rtb = new RichTextBox
                {
                    Dock        = DockStyle.Fill,
                    BorderStyle = BorderStyle.None,
                    DetectUrls  = true,
                    ReadOnly    = true,
                };
                rtb.Rtf          = Content;
                rtb.LinkClicked += OnLinkClicked;
                TextCtrl         = rtb;
                break;
            }

            case EContent.Html:
            {
                var web = new BrowserCtrl {
                    Dock = DockStyle.Fill, AllowNavigation = true
                };
                web.CanGoForwardChanged += (s, a) => m_btn_forward.Enabled = web.CanGoForward;
                web.CanGoBackChanged    += (s, a) => m_btn_back.Enabled = web.CanGoBack;
                web.ResolveContent      += (s, a) => ResolveContent(a);
                web.StatusTextChanged   += (s, a) => SetStatusText(web.StatusText != "Done" ? web.StatusText : string.Empty);
                web.UrlHistory.Add(new BrowserCtrl.Visit(HelpUrl));
                TextCtrl = web;
                ShowNavigationButtons = true;
                break;
            }
            }
            TextCtrl.BackColor = SystemColors.Window;
            m_panel.Controls.Add(TextCtrl);

            m_btn_ok.Click      += Close;
            m_btn_forward.Click += OnForward;
            m_btn_back.Click    += OnBack;
        }