Csharp/C Sharp/GUI Windows Form/Web Browser

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

My Web Browser

/*
Professional Windows GUI Programming Using C#
by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, 
   Zach Greenvoss, Shripad Kulkarni, Neil Whitlow
Publisher: Peer Information
ISBN: 1861007663
*/
using System;
using System.Drawing;
using System.Collections;
using System.ruponentModel;
using System.Windows.Forms;
using System.Data;
namespace MyWebBrowser
{
  /// <summary>
  /// Summary description for MyWebBrowser.
  /// </summary>
  public class MyWebBrowser : System.Windows.Forms.Form
  {
      private System.Windows.Forms.Panel panel1;
      private System.Windows.Forms.Panel panel2;
      private System.Windows.Forms.TextBox addressBox;
      private System.Windows.Forms.Button goButton;
      private AxSHDocVw.AxWebBrowser axWebBrowser1;
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ruponentModel.Container components = null;
    public MyWebBrowser()
    {
      //
      // Required for Windows Form Designer support
      //
      InitializeComponent();
         axWebBrowser1.GoHome();
      //
      // TODO: Add any constructor code after InitializeComponent call
      //
    }
    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    protected override void Dispose( bool disposing )
    {
      if( disposing )
      {
        if (components != null) 
        {
          components.Dispose();
        }
      }
      base.Dispose( disposing );
    }
    #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
         System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MyWebBrowser));
         this.panel1 = new System.Windows.Forms.Panel();
         this.goButton = new System.Windows.Forms.Button();
         this.addressBox = new System.Windows.Forms.TextBox();
         this.panel2 = new System.Windows.Forms.Panel();
         this.axWebBrowser1 = new AxSHDocVw.AxWebBrowser();
         this.panel1.SuspendLayout();
         this.panel2.SuspendLayout();
         ((System.ruponentModel.ISupportInitialize)(this.axWebBrowser1)).BeginInit();
         this.SuspendLayout();
         // 
         // panel1
         // 
         this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                             this.goButton,
                                                                             this.addressBox});
         this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
         this.panel1.Name = "panel1";
         this.panel1.Size = new System.Drawing.Size(408, 40);
         this.panel1.TabIndex = 0;
         // 
         // goButton
         // 
         this.goButton.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right);
         this.goButton.Image = ((System.Drawing.Bitmap)(resources.GetObject("goButton.Image")));
         this.goButton.Location = new System.Drawing.Point(368, 8);
         this.goButton.Name = "goButton";
         this.goButton.Size = new System.Drawing.Size(32, 24);
         this.goButton.TabIndex = 1;
         this.goButton.Click += new System.EventHandler(this.goButton_Click);
         // 
         // addressBox
         // 
         this.addressBox.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right);
         this.addressBox.Location = new System.Drawing.Point(8, 8);
         this.addressBox.Name = "addressBox";
         this.addressBox.Size = new System.Drawing.Size(344, 20);
         this.addressBox.TabIndex = 0;
         this.addressBox.Text = "";
         // 
         // panel2
         // 
         this.panel2.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right);
         this.panel2.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                             this.axWebBrowser1});
         this.panel2.Location = new System.Drawing.Point(8, 48);
         this.panel2.Name = "panel2";
         this.panel2.Size = new System.Drawing.Size(392, 240);
         this.panel2.TabIndex = 1;
         // 
         // axWebBrowser1
         // 
         this.axWebBrowser1.ContainingControl = this;
         this.axWebBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
         this.axWebBrowser1.Enabled = true;
         this.axWebBrowser1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWebBrowser1.OcxState")));
         this.axWebBrowser1.Size = new System.Drawing.Size(392, 240);
         this.axWebBrowser1.TabIndex = 0;
         // 
         // MyWebBrowser
         // 
         this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
         this.ClientSize = new System.Drawing.Size(408, 293);
         this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                      this.panel2,
                                                                      this.panel1});
         this.Name = "MyWebBrowser";
         this.Text = "MyWebBrowser";
         this.panel1.ResumeLayout(false);
         this.panel2.ResumeLayout(false);
         ((System.ruponentModel.ISupportInitialize)(this.axWebBrowser1)).EndInit();
         this.ResumeLayout(false);
      }
    #endregion
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main() 
    {
      Application.Run(new MyWebBrowser());
    }
      private void goButton_Click(object sender, System.EventArgs e)
      {
         object o = null;
         object address = (object)addressBox.Text;
         axWebBrowser1.Navigate2(ref address, ref o, ref o, ref o, ref o);
      }
  }
}

<A href="http://www.nfex.ru/Code/CSharpDownload/MyWebBrowser.zip">MyWebBrowser.zip( 126 k)</a>


Simple WebBrowser

/*
Professional Windows GUI Programming Using C#
by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, 
   Zach Greenvoss, Shripad Kulkarni, Neil Whitlow
Publisher: Peer Information
ISBN: 1861007663
*/
using System;
using System.Windows.Forms;
using System.Drawing;
using AxSHDocVw;
public class WebBrowser : Form
{
   private AxWebBrowser browser;
   private Button goButton;
   private TextBox addressBox;
   private Panel panel1;
   private Panel panel2;
   public WebBrowser()
   {
      panel1 = new Panel();
      panel2 = new Panel();
      browser = new AxWebBrowser();
      browser.BeginInit();
      this.SuspendLayout();
      panel1.SuspendLayout();
      panel2.SuspendLayout();
      this.Text = "MyWebBrowser";
      panel1.Size = new Size(300, 30);
      panel1.Dock = DockStyle.Top;
      panel2.Size = new Size(285,240);
      panel2.Location = new Point(5, 31);
      panel2.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
      browser.Dock = DockStyle.Fill;
      addressBox = new TextBox();
      addressBox.Size = new Size(260, 20);
      addressBox.Location = new Point(5,5);
      addressBox.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left;
      goButton = new Button();
      goButton.Image = Image.FromFile("Arrow.ico");
      goButton.Location = new Point(270,5);
      goButton.Size = new Size(20,20);
      goButton.Anchor = AnchorStyles.Top | AnchorStyles.Right;
      panel1.Controls.AddRange(new Control[] { addressBox, goButton });
      panel2.Controls.Add(browser);
      this.Controls.AddRange(new Control[] { panel1, panel2 });
      browser.EndInit();
      panel1.ResumeLayout();
      panel2.ResumeLayout();
      this.ResumeLayout();
      goButton.Click += new EventHandler(goButton_Click);
      browser.GoHome();
   }
   private void goButton_Click(object sender, EventArgs e)
   {
      object o = null;
      browser.Navigate(addressBox.Text, ref o, ref o, ref o, ref o);
   }
   [STAThread]
   public static void Main()
   {
      Application.Run(new WebBrowser());
   }
}


WebBrowser in action

using System;
using System.Collections.Generic;
using System.ruponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
public class Form1 : Form
{
  private System.Windows.Forms.WebBrowser webBrowser1;
  public Form1() {
        InitializeComponent();
        webBrowser1.Navigate("http://www.nfex.ru");
  }
  private void InitializeComponent()
  {
        this.webBrowser1 = new System.Windows.Forms.WebBrowser();
        this.SuspendLayout();
        // 
        // webBrowser1
        // 
        this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.webBrowser1.Location = new System.Drawing.Point(0, 0);
        this.webBrowser1.Name = "webBrowser1";
        this.webBrowser1.Size = new System.Drawing.Size(600, 600);
        this.webBrowser1.TabIndex = 0;
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(600, 600);
        this.Controls.Add(this.webBrowser1);
        this.Text = "Split Window";
        this.ResumeLayout(false);
  }
  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run(new Form1());
  }
}


Web Browser usual actions

 
using System;
using System.Collections.Generic;
using System.ruponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
    public class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void webBrowser1_DocumentTitleChanged(object sender, EventArgs e)
        {
            this.Text = webBrowser1.DocumentTitle.ToString();
        }
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)13)
            {
                webBrowser1.Navigate(textBox1.Text);
            }
        }
        private void webBrowser1_Navigated(object sender,
           WebBrowserNavigatedEventArgs e)
        {
            textBox1.Text = webBrowser1.Url.ToString();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            buttonBack.Enabled = false;
            buttonForward.Enabled = false;
            buttonStop.Enabled = false;
        }
        private void buttonBack_Click(object sender, EventArgs e)
        {
            webBrowser1.GoBack();
            textBox1.Text = webBrowser1.Url.ToString();
        }
        private void buttonForward_Click(object sender, EventArgs e)
        {
            webBrowser1.GoForward();
            textBox1.Text = webBrowser1.Url.ToString();
        }
        private void buttonStop_Click(object sender, EventArgs e)
        {
            webBrowser1.Stop();
        }
        private void buttonHome_Click(object sender, EventArgs e)
        {
            webBrowser1.GoHome();
            textBox1.Text = webBrowser1.Url.ToString();
        }
        private void buttonRefresh_Click(object sender, EventArgs e)
        {
            webBrowser1.Refresh();
        }
        private void buttonSubmit_Click(object sender, EventArgs e)
        {
            webBrowser1.Navigate(textBox1.Text);
        }
        private void webBrowser1_CanGoBackChanged(object sender, EventArgs e)
        {
            if (webBrowser1.CanGoBack == true)
            {
                buttonBack.Enabled = true;
            }
            else
            {
                buttonBack.Enabled = false;
            }
        }
        private void webBrowser1_CanGoForwardChanged(object sender, EventArgs e)
        {
            if (webBrowser1.CanGoForward == true)
            {
                buttonForward.Enabled = true;
            }
            else
            {
                buttonForward.Enabled = false;
            }
        }
        private void webBrowser1_Navigating(object sender,
           WebBrowserNavigatingEventArgs e)
        {
            buttonStop.Enabled = true;
        }
        private void webBrowser1_DocumentCompleted(object sender,
           WebBrowserDocumentCompletedEventArgs e)
        {
            buttonStop.Enabled = false;
        }
        private void InitializeComponent()
        {
            this.webBrowser1 = new System.Windows.Forms.WebBrowser();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.buttonSubmit = new System.Windows.Forms.Button();
            this.buttonRefresh = new System.Windows.Forms.Button();
            this.buttonHome = new System.Windows.Forms.Button();
            this.buttonStop = new System.Windows.Forms.Button();
            this.buttonForward = new System.Windows.Forms.Button();
            this.buttonBack = new System.Windows.Forms.Button();
            this.SuspendLayout();
            this.webBrowser1.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.webBrowser1.Location = new System.Drawing.Point(15, 74);
            this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
            this.webBrowser1.Size = new System.Drawing.Size(700, 339);
            this.webBrowser1.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.webBrowser1_DocumentCompleted);
            this.textBox1.Location = new System.Drawing.Point(14, 47);
            this.textBox1.Size = new System.Drawing.Size(399, 20);
            this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);
            this.buttonSubmit.Location = new System.Drawing.Point(419, 18);
            this.buttonSubmit.Size = new System.Drawing.Size(75, 49);
            this.buttonSubmit.Text = "Submit";
            this.buttonSubmit.UseVisualStyleBackColor = true;
            this.buttonSubmit.Click += new System.EventHandler(this.buttonSubmit_Click);
            this.buttonRefresh.Location = new System.Drawing.Point(338, 18);
            this.buttonRefresh.Size = new System.Drawing.Size(75, 23);
            this.buttonRefresh.Text = "Refresh";
            this.buttonRefresh.UseVisualStyleBackColor = true;
            this.buttonRefresh.Click += new System.EventHandler(this.buttonRefresh_Click);
            this.buttonHome.Location = new System.Drawing.Point(257, 18);
            this.buttonHome.Size = new System.Drawing.Size(75, 23);
            this.buttonHome.Text = "Home";
            this.buttonHome.UseVisualStyleBackColor = true;
            this.buttonHome.Click += new System.EventHandler(this.buttonHome_Click);
            this.buttonStop.Location = new System.Drawing.Point(176, 18);
            this.buttonStop.Size = new System.Drawing.Size(75, 23);
            this.buttonStop.Text = "Stop";
            this.buttonStop.UseVisualStyleBackColor = true;
            this.buttonStop.Click += new System.EventHandler(this.buttonStop_Click);
            this.buttonForward.Location = new System.Drawing.Point(95, 18);
            this.buttonForward.Size = new System.Drawing.Size(75, 23);
            this.buttonForward.Text = "Forward";
            this.buttonForward.UseVisualStyleBackColor = true;
            this.buttonForward.Click += new System.EventHandler(this.buttonForward_Click);
            this.buttonBack.Location = new System.Drawing.Point(14, 18);
            this.buttonBack.Size = new System.Drawing.Size(75, 23);
            this.buttonBack.Text = "Back";
            this.buttonBack.UseVisualStyleBackColor = true;
            this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(728, 430);
            this.Controls.Add(this.webBrowser1);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.buttonSubmit);
            this.Controls.Add(this.buttonRefresh);
            this.Controls.Add(this.buttonHome);
            this.Controls.Add(this.buttonStop);
            this.Controls.Add(this.buttonForward);
            this.Controls.Add(this.buttonBack);
            this.ResumeLayout(false);
            this.PerformLayout();
        }
        private System.Windows.Forms.WebBrowser webBrowser1;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Button buttonSubmit;
        private System.Windows.Forms.Button buttonRefresh;
        private System.Windows.Forms.Button buttonHome;
        private System.Windows.Forms.Button buttonStop;
        private System.Windows.Forms.Button buttonForward;
        private System.Windows.Forms.Button buttonBack;
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }