- ベストアンサー
URLエンコード
Webブラウザの検索バーを作っています。 まだ、未完成でhttp;//******.****(HPアドレス)を打つとそのページが出るところまでしか出来ていません。 作りたいのは、アドレス欄にサイト名を入力するとそのページに行くやつです。 回答をお待ちしております。 環境 XP 使用言語 VB.NET2003
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> IEが起動するのではなくAxWebBrowser内のページが変わってほしいのです。 はい。#1 に書いたコードは Windows フォームに貼り付けた AxWebBrowser を使ったコードで、AxWebBrowser1 にページが表示されます。 IE は起動しません。 URL 入力用としてコンボボックス。 コンボボックスの横に、サイトへ移動するためのボタン。 サイトへ移動するには ・ コンボボックスでユーザーが [Enter] キーを押した ・ コンボボックスのリストからユーザーが URL を選択した ・ [移動] ボタンを押した を想定し、これらのイベントから共通して呼ばれるプロシージャ「go()」を作成。 以上を踏まえ、必要最低限で書いたコードが #1 のコードです。 今回は周辺のコードも載せます。 これでコンボボックスに「www.yahoo.co.jp」とか「www.microsoft.com/japan」と入力して [Enter] キーを押すか、[移動] ボタンを押せば AxWebBrowser1 にページが表示されます。 IP アドレスでは表示されるが、ホスト名では表示されない(通信できない)ってことは、そのホスト名を DNS で名前解決できてないってことで、DNS に登録されていないか、DNS を見るように設定していないか、DNS と通信できないでいるか、ってところだと思いますよ。 --------------------------------------------------- ' ユーザーがコンボボックスで Enter キーを押した Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress If (e.KeyChar = Microsoft.VisualBasic.ChrW(13)) Then e.Handled = True go() End If End Sub ' ユーザーがコンボボックスのリストから選択をした Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged go() End Sub ' ユーザーが移動ボタンをクリックした Private Sub btnNavigate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNavigate.Click go() End Sub ' ページを表示する Private Sub go() Dim url As Object = Me.ComboBox1.Text Dim flags As Object = Nothing Dim target As Object = Nothing Dim postData As Object = Nothing Dim header As Object = Nothing Me.AxWebBrowser1.Navigate2(url, flags, target, postData, header) End Sub
その他の回答 (1)
- temtecomai2
- ベストアンサー率61% (656/1071)
というか普通に行けますよ。プログラム側では特に何もしなくて済むと思うのですが・・・ ------------------------------------------------ Dim url As Object = Me.ComboBox1.Text Dim flags As Object = Nothing Dim target As Object = Nothing Dim postData As Object = Nothing Dim header As Object = Nothing Me.AxWebBrowser1.Navigate2(url, flags,target, postData, header) ------------------------------------------------ ホスト名で飛ばないのはプログラムと言うよりはネットワーク設定じゃないですか?
補足
IEが起動するのではなくAxWebBrowser内のページが変わってほしいのです。 回答をお待ちしています。