§15 Webブラウザ2 プログラミング実習
 back next 

【2】 オブジェクトの配置

 ウィンドウのサイズを変更すると、WebBrowser1オブジェクトだけはウィンドウサイズに合わせて大きさが変わる。しかし、ボタンなどは同じ位置のままである。ここでは、7つのボタンはウィンドウの右上に、アドレス入力欄は大きさが変わるようにする。

操作 9 各オブジェクトのLeftプロパティを設定するメソッドHaichiを次のように作成する。

    Private Sub Haichi()
        Dim kankaku As Integer = 4
        VerButton.Left = Panel1.Width - VerButton.Width - kankaku
        SearchButton.Left = VerButton.Left - SearchButton.Width - kankaku
        HomeButton.Left = SearchButton.Left - HomeButton.Width - kankaku
        StopButton.Left = HomeButton.Left - StopButton.Width - kankaku
        UpdateButton.Left = StopButton.Left - UpdateButton.Width - kankaku
        BackButton.Left = UpdateButton.Left - BackButton.Width - kankaku
        GoButton.Left = BackButton.Left - GoButton.Width - kankaku
        txtAddress.Width = GoButton.Left - 5    '←幅変更
    End Sub

最後の命令はtxtAddressオブジェクトの幅を変更している。

操作 10 プログラムを起動すると、Load イベントが発生する。フォームのLoadイベントに対応するFome1_Loadメソッドに、各オブジェクトのTopプロパティを設定するプログラムを次のように入力する。

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        VerButton.Top = 2
        SearchButton.Top = VerButton.Top
        HomeButton.Top = VerButton.Top
        StopButton.Top = VerButton.Top
        UpdateButton.Top = VerButton.Top
        BackButton.Top = VerButton.Top
        GoButton.Top = VerButton.Top
        txtAddress.Top = 9
        Haichi()    '←メソッドの呼び出し
    End Sub

操作 11 ウィンドウのサイズを変更すると、Resizeイベントが発生する。フォームのResizeイベントに対応するFome1_Resizeメソッドにプログラムを次のように入力する。

    Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        Haichi()    '←メソッドの呼び出し
    End Sub

結果 実行して、ウィンドウのサイズを変更すると、各オブジェクトの配置や大きさが変わる。ウィンドウを小さくしすぎるとタイトルバーだけになる。

 

○ ウインドウの最小サイズ

操作 12 ウィンドウのサイズが最初の500×400より小さくならないように、フォームのMinimumSizeプロパティを次のように設定する。

MinimumSize 500, 400    
結果 実行して、ウィンドウのサイズを変更しても、最初の500×400より小さくならない。

 

【3】 Webページの表示

 アドレス欄にURLを入力後、[Enter]キーを押すか、GoボタンをクリックするWebページが表示されるようにする。

操作 13 GoボタンGoButtonのクリックイベントに対応するメソッドを次のように作成する。

    Private Sub GoButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GoButton.Click
        WebBrowser1.Navigate(txtAddress.Text)    'Webページ表示
    End Sub

 Navigateメソッドに表示したいWebページのURLを指定すると表示される。
結果 実行して、「http://masudahp.web.fc2.com/」と入力して、Goボタンをクリックすると私のおもちゃ箱のWebページが表示される。リンクポイントをクリックするとリンク先のWebページが表示される。

操作 14 テキストボックスtxtAddressのキーダウンイベントに対応するメソッドを次のように作成する。

    Private Sub txtAddress_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtAddress.KeyDown
        If e.KeyCode = Keys.Enter Then
            WebBrowser1.Navigate(txtAddress.Text)    'Webページ表示
        End If
    End Sub

テキストボックスの[Enter]キーの処理は、「5.計算(2)、【4】フォーカスの移動(2)」で説明している。このときは、KeyPressイベントであったが、今回はKeyDownイベントを使い、文字コードで比較している。違いを比べてみよ。
結果 実行して、「http://masudahp.web.fc2.com/」と入力して、[Enter]キーを押すと私のおもちゃ箱のWebページが表示される。リンクポイントをクリックするとリンク先の Webページが表示される。

操作 15 プログラムを起動するとWebページが表示されるように、フォームのLoadイベントに対応するFome1_Loadメソッドに追加する。(下線部)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        VerButton.Top = 2
        << 略 >>
        Haichi()    '←メソッドの呼び出し
        WebBrowser1.Navigate("http://masudahp.web.fc2.com")
    End Sub

結果 実行するとWebページが表示される。


 back next 
 §15 Webブラウザ2 Copyright©2008 Hiroshi Masuda 

 

 

inserted by FC2 system