IEのようなお気に入り への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 Fox  (高校生) 投稿日時 2011/12/26 23:10:41
ありがとうございました。
出来ました!!

こんな方法があったんですね!
勉強になりました。
投稿者 るきお  (社会人) 投稿日時 2011/12/26 22:21:45
情報があんまり足りないので3つ仮定を置きました。

仮定1.MenuStrip上にMenuItem3というメニューが配置されている。
仮定2.フォーム上にTabControl1が配置されている。
仮定3.そのTabControl1の選択されているTabPage上にWebBrowserコントロールが配置されている。

 
Private Sub MenuItem3_Click(sender As System.Object, e As System.EventArgs) Handles MenuItem3.Click

    If MenuItem3.HasDropDownItems Then
        Return
    End If

    Dim childMenu As ToolStripMenuItem

    childMenu = New ToolStripMenuItem("Yahoo!")
    AddHandler childMenu.Click, Sub() Navigate("http://www.yahoo.co.jp")
    MenuItem3.DropDownItems.Add(childMenu)

    childMenu = New ToolStripMenuItem("Visual Basic 中学校")
    AddHandler childMenu.Click, Sub() Navigate("http://homepage1.nifty.com/rucio/main/main.htm")
    MenuItem3.DropDownItems.Add(childMenu)

    childMenu = New ToolStripMenuItem("Google")
    AddHandler childMenu.Click, Sub() Navigate("http://www.google.com")
    MenuItem3.DropDownItems.Add(childMenu)

    childMenu = New ToolStripMenuItem("@nifty")
    AddHandler childMenu.Click, Sub() Navigate("http://www.nifty.ne.jp")
    MenuItem3.DropDownItems.Add(childMenu)

    MenuItem3.ShowDropDown()
End Sub

Private Sub Navigate(url As String)

    Dim Browser As WebBrowser = Aggregate c In TabControl1.SelectedTab.Controls Where TypeOf c Is WebBrowser Into First()
    Browser.Navigate(url)

End Sub
投稿者 Fox  (高校生) 投稿日時 2011/12/26 20:40:36
できればMenuItem3でしたいです。
ToolBar?のやり方なら見つけたのですがMenuItemでのやり方が分かりません(泣
投稿者 ラオシス  (中学生) 投稿日時 2011/12/26 19:15:14
Public Class FavoritePage
'ページのURL 
Public Property URL As String
'ページのタイトル 
Public Property Name As String
End Class


この内容を、List(Of FavoritePage)に入れればいいのではないかと。
記録するにはバイナリシリアライズもしくはSoapシリアライズが楽ですね
http://dobon.net/vb/dotnet/file/binaryformatter.html

ただし、 XmlSerializerはプロパティなどPublicに設定されたフィールドが記録されますが
このSoapおよびBinaryはPrivateも記録されグローバル変数だけが記録されるところに注意してください
ただしListのままでは記録できなかったはずなので、ToArrayにより配列に変換してから記録してください

LictViewがダブルクリックされたとき対象となるFavoritePageクラスからURLを取り出し
選択されているタブのWebBrowserに表示させればいいとおもいます
投稿者 ラオシス  (中学生) 投稿日時 2011/12/26 18:51:51
それならば、リストビューとスプリットコンテナを準備して、追加されたURLをList(Of T)コレクションに
記録すればいい話では?リストビューにList(Of T)の内容を反映させればいいですね
それかDictionaryもいいかもしれませんね。タイトルとURLをペアにして。

ダブルクリックした時にList(Of T)からURLを取り出してWebBrowserに反映すればいいのではないかと思います。
頑張ってください。
投稿者 Fox  (高校生) 投稿日時 2011/12/26 02:54:51
すいませんさっきの間違えです。
またまた申し訳ありません。
IEのようなお気に入りを作りたくていろいろ調べてみたのですが
分かりません(泣

現在こんな感じです。
お気に入りを押すとIEの用に出て選択したサイトを選択しているタブに出したいです。

投稿者 (削除されました)  () 投稿日時 2011/12/26 02:52:40
(削除されました)