C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: Webブラウザでページを表示させる系について


(過去ログ 113 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■66778 / inTopicNo.1)  Webブラウザでページを表示させる系について
  
□投稿者/ みゅう (1回)-(2013/05/23(Thu) 14:35:00)

分類:[VB.NET/VB2005 以降] 

あるサイトでこのようなコードを見つけました。



Public Class Form1

Dim WebBrowsers() As WebBrowser
Dim TabCtrl As TabControl
Dim TabPages() As TabPage

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Maximized 'フォームの最大化
TabCtrl = New TabControl '新しくTabControlを作成
TabCtrl.Parent = Me '作成したTabControlをフォームに配置
TabCtrl.Dock = DockStyle.Fill 'TabControlをフォーム全体にドッキング
ReDim WebBrowsers(0) '新しくWebBorwserコントロールを宣言
ReDim TabPages(0) '新しくTabPageコントロールを宣言
WebBrowsers(0) = New WebBrowser 'WebBorwserコントロールを作成
TabPages(0) = New TabPage 'TabPageコントロールを作成
TabCtrl.Controls.Add(TabPages(0)) '作成したTabPageをTabControlに配置
WebBrowsers(0).Dock = DockStyle.Fill 'WebBorwserコントロールをタブページ全体にドッキング
AddHandler WebBrowsers(0).NewWindow, AddressOf WebBrowsers_NewWindow '作成したWebBrowserコントロールのNewWindowイベントプロシージャをWebBrowsers_NewWindowに設定
WebBrowsers(0).Parent = TabPages(0) '作成したWebBrowserコントロールを、作成したTabPageへ配置
WebBrowsers(0).Navigate("http://www.google.co.jp/") 'URLを表示
TabPages(0).Text = "http://www.google.co.jp/" 'TabPageのテキストに現在のアドレスを表示
End Sub

Private Sub WebBrowsers_NewWindow(sender As Object, e As System.ComponentModel.CancelEventArgs)
Dim c As Integer = WebBrowsers.Length '現在のTabの数
Dim Href As String = CType(sender, WebBrowser).Document.ActiveElement.GetAttribute("href") '移動先のURL
e.Cancel = True '新しいウインドウの生成をキャンセルする
ReDim Preserve WebBrowsers(c) 'WebBorwsersとTabPageのインデックスを一つ増やす
ReDim Preserve TabPages(c)
WebBrowsers(c) = New WebBrowser '新しくWebBrowserコントロールを配置
TabPages(c) = New TabPage '新しくTabPageコントロールを配置
WebBrowsers(c).Dock = DockStyle.Fill '配置したWebBrowserコントロールを、TabPage全体にドッキング
AddHandler WebBrowsers(c).NewWindow, AddressOf WebBrowsers_NewWindow '作成したWebBrowserコントロールのNewWindowイベントプロシージャをWebBrowsers_NewWindowに設定
TabCtrl.Controls.Add(TabPages(c)) '作成したTabPageを、TabControlに配置
WebBrowsers(c).Parent = TabPages(c) '作成したWebBrowserコントロールを、作成したTabPageに配置
TabCtrl.SelectedIndex = c '作成したtabPageをアクティブにする
WebBrowsers(c).Navigate(Href) '新しいタブに表示されたWebBrowserコントロールの表示アドレスを、Hrefに変更する
TabPages(c).Text = If(Href.Length > 24, Href.Substring(0, 21) & "...", Href) 'タブページのタイトルを変更
End Sub


これに、

・DocumentCompleated時にイベントを発生させる
・TextBoxにURLを入力し、Buttonを押すとページが開く

機能を追加したいです



また、これはフォームにあらかじめTabControlなどを置かなくてもできるコードなんですが、

上記のコードで作られたWebBrowserなどのDocumentCompleatedなどを設定するにはどうすればいいか

具体的なコードもできれば知りたいです



どなたか教えてください
引用返信 編集キー/
■66779 / inTopicNo.2)  Re[1]: Webブラウザでページを表示させる系について
□投稿者/ 太郎冠者 (5回)-(2013/05/23(Thu) 15:09:30)
>・DocumentCompleated時にイベントを発生させる
ドキュメントを読み込ませれば、読み込み完了時にイベントは勝手に発生します。
フレームを使用しているWebページなんかだと複数回発生する事もあるのでご注意下さい。


取り敢えず、参考になりそうな情報をば。
WebBrowser.Navigate メソッド
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.webbrowser.navigate(v=vs.80).aspx

WebBrowser.DocumentCompleted イベント
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.webbrowser.documentcompleted(v=vs.80).aspx

引用返信 編集キー/
■66780 / inTopicNo.3)  Re[2]: Webブラウザでページを表示させる系について
□投稿者/ みゅう (2回)-(2013/05/23(Thu) 16:15:04)
No66779 (太郎冠者 さん) に返信


具体例に説明しますと、

WebBrowser内でページを移動したとき、移動先のページの読み込みが完了するとTextBoxにURLを表示する


というものが作りたいです




初心者なので「ここをこうすればなんとかなる」と言われてもどうすればいいのかわからないので、

具体的なコードが欲しいです
引用返信 編集キー/
■66781 / inTopicNo.4)  Re[3]: Webブラウザでページを表示させる系について
□投稿者/ ウメ吉 (1回)-(2013/05/23(Thu) 18:10:06)
No66780 (みゅう さん) に返信

> 初心者なので「ここをこうすればなんとかなる」と言われてもどうすればいいのかわからないので、
>
> 具体的なコードが欲しいです

正直、これは初心者の課題としてはハードルが高いと思います。
ある程度自分で調べて理解し、分からないところを質問するのであれば結構親切な回答がつきますが、
単に「コードがほしい」と言われても、相手にする人は少ないでしょう。
努力の感じられない人にコードを提供しても、どうせ「うまく動かない」というオチになり、
コード解説を一からさせられるはめになるのは明白だからです。

とりあえず、もう少しコントロールのイベントについて勉強してから出直してはどうですか。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -