faviconの事と、Form2からForm1へのサイト表示方法

タグの編集
投稿者 Fox  (高校生) 投稿日時 2011/12/29 16:51:44
度々すいません。
サイトのアイコンを取得するまでは何とか出来ましたが・・・
アイコンを設定していないサイトはこちらが用意したアイコンを表示するようにしたいのですが
できますかね?
アイコン取得コードはこれです
  Dim url As Uri = New Uri(Texta.Text)
        If url.HostNameType = UriHostNameType.Dns Then
            Dim iconURL = "http://" & url.Host & "/favicon.ico"
            Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(iconURL)
            Dim response As System.Net.HttpWebResponse = request.GetResponse()
            Dim stream As System.IO.Stream = response.GetResponseStream
            Dim favicon = Image.FromStream(stream)
            Me.ico.Image = favicon
           

        End If


それとForm2にWeb Browserを配置しそこにお気に入りを開きます。
お気に入りのサイトをダブルクリックしたらForm1の選択しているタブにサイトが表示されるように
したいのですが方法が分かりません(泣
投稿者 shu  (社会人) 投稿日時 2011/12/29 22:09:42
こんな感じでしょうか

        Dim url As Uri = New Uri(TextBox1.Text)
        If url.HostNameType = UriHostNameType.Dns Then
            Dim iconURL = "http://" & url.Host & "/favicon.ico"
            Try
                Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(iconURL)
                Dim response As System.Net.HttpWebResponse = request.GetResponse()
                Dim stream As System.IO.Stream = response.GetResponseStream
                Dim favicon = Image.FromStream(stream)
                PictureBox1.Image = favicon
            Catch ex As WebException
                PictureBox1.Image = SystemIcons.Asterisk.ToBitmap   '--- 適当なイメージを設定
            End Try
        End If
投稿者 Fox  (高校生) 投稿日時 2011/12/30 22:23:15
ありがとうございます。
何とか出来ました\(^o^)/
投稿者 ラオシス  (中学生) 投稿日時 2011/12/30 22:26:05
>それとForm2にWeb Browserを配置しそこにお気に入りを開きます。
Form2にWebBrowserのみあるのですか?お気に入りとはどういうことでしょう?

>お気に入りのサイトをダブルクリックしたらForm1の選択しているタブにサイトが表示されるように
前回の質問から察して、MenuItemをダブルクリックでしょうか?それともホームページの表示領域をダブルクリックですか?というよりお気に入りのサイト限定ですか?
表示領域をダブルクリックでということでしたら、意図しない(たとえばダブルクリックで遊ぶゲームだとか、連続してクリックするゲームとか)
ときに新規ウィンドウが出て、だめだとおもいますが?


Formとの連携はForm2でなく、Form1をインスタンシングして、再利用された方がよろしいと思います。
新しくコンストラクタに、URLを引数とすればいいと思います。

'引数なし 
Public Sub New()
End Sub

Public Sub New(Byval URL As String)
'タブブラウザなので、新しくタブを作り、表示するというふうになるように置換してください。 
WebBrowser1.Navigate(URL)
End Sub


情報が少ないのできちんとした解答はできませんが、おそらく最後の質問は基本的なFormの連携だと思うので、るきおさんの初級講座を参考にされることをおすすめします。
第29回 2つ目のフォーム
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard29.htm