// お気に入り追加処理 private void btnAddFavorite_Click(object sender, EventArgs e) { if (browser.Url != null) { // お気に入りデータの設定 FavoriteData data = new FavoriteData(); data.SetTitle(browser.DocumentTitle); data.SetUrl(browser.Url.ToString()); // 重複チェック if (!itemExists(data)) { // リストに追加 listFavorite.Items.Add(data); } else { MessageBox.Show("既に登録済みです。"); } } else { MessageBox.Show("サイトを表示してください。"); } }
// お気に入り存在チェック private bool itemExists(FavoriteData data1) { for (int i = 0; i < listFavorite.Items.Count; i++) { FavoriteData data2 = (FavoriteData)listFavorite.Items[i]; if (data1.GetUrl().Equals(data2.GetUrl())) { return(true); } } return(false); }
// お気に入り削除処理 private void btnRemoveFavorite_Click(object sender, EventArgs e) { if (listFavorite.SelectedIndex >= 0) { // 選択されているデータの取得 FavoriteData data = (FavoriteData)listFavorite.Items[listFavorite.SelectedIndex]; if (listFavorite.Items.Count > 0) { // リストからデータを削除 listFavorite.Items.Remove(data); } } else { MessageBox.Show("リストを選択してください。"); } }
// お気に入りダブルクリック時 private void listFavorite_DoubleClick(object sender, EventArgs e) { FavoriteData data = (FavoriteData)listFavorite.Items[listFavorite.SelectedIndex]; browser.Url = new Uri(data.GetUrl()); }