

Webbrowserでホームページを指定できるようにしたいのですが。  
TextBoxにホームページにするURLを設定して、Enterを押したら、ホームページが、  
さっき指定したURLが出る？みたいなようにする方法を教えて下さい。


CC BY-SA 3.0
2015-07-04T01:14:04.297
12009
2015-07-04T01:49:48.563
10390
question
c#
Webbrowserでホームページを設定できるようにしたい。


Forms、WPFともに`WebBrowser.Navigate(string)`というメソッドを使用すればよいです。以下はFormsのコード例です。

[code]

    public partial class Form1 : Form
    {
        public Form1()
        {
            // コントロールの配置。通常はInitializeComponent();で良い
            var button1 = new Button();
            button1.Dock = DockStyle.Top;
            button1.Text = "Go";
            Controls.Add(button1);
    
            var textBox1 = new TextBox();
            textBox1.Dock = DockStyle.Top;
            textBox1.Text = "http://ja.stackoverflow.com/";
            Controls.Add(textBox1);
    
    
            var webBrowser = new WebBrowser();
            webBrowser.Dock = DockStyle.Fill;
            Controls.Add(webBrowser);
    
            // イベントハンドラーの登録(確定ボタンを使用する場合)
            AcceptButton = button1;
            button1.Click += (s, e) =>
            {
                // URL移動
                webBrowser.Navigate(textBox1.Text);
            };
    
            // イベントハンドラーの登録(リターンキーの直接ハンドル)
            textBox1.KeyDown += (s, e) => 
            {
                if (!e.Handled && e.KeyCode == Keys.Return)
                {
                    // URL移動
                    webBrowser.Navigate(textBox1.Text);
                    e.Handled = true;
                }
            };
        }
    }
    
[/code]

なおコード中にラムダ式を使用している箇所(～`+= (s, e)
=>`～)が2個ありますが、これは通常のイベントハンドラーで問題ありません。プロパティウィンドウから該当イベントを探して登録してください。


CC BY-SA 3.0
2015-07-04T01:37:00.217
12010
2015-07-04T01:49:48.563
2015-07-04T01:49:48.563
5750
5750
12009
answer