• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ListViewとArrayListの連動がうまくいきません)

ListViewとArrayListの連動がうまくいきません

このQ&Aのポイント
  • ListViewとArrayListの連動が上手くいかないときの解決方法について質問です。ListViewとArrayListを使ってメールソフトの既読・未読のフラグを実装していますが、ListViewのカラムクリック時の昇順・降順設定を追加すると表示がおかしくなってしまいます。
  • 現在、未読のメールは太字で表示され、既読のメールは通常のフォントで表示されるように設定していますが、すべてのフラグがtrueの状態でも、表示される結果はまばらになってしまいます。どうすればこの問題を解決できるでしょうか?環境はVS2005(C#)、.NET Framework 2.0です。
  • ListViewの昇順・降順ロジックには、どぼんの.NET Tipsに掲載されている文字列・数字・日付で比較が可能なタイプを使用しています。また、ListViewの設定やリストの更新についてもコードを記載しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

// この2行を追加 item.Tag = i; i++; listView1.Items.Add(item); // 未読(未送信)の場合は、フォントを太字にする int index = listView1.Items.Count - 1; if (mail.notReadYet == true) { listView1.Items[index].Font = new Font(this.Font, FontStyle.Bold); } の部分を   // この2行を追加   item.Tag = i;   if ( mail.notReadYet == true) {     item.Font = new Font(this.Font, FontStyle.Bold);   } else {     // フラグが不正な場合 出力タブへ送信     System.Diagnostics.Debug.WriteLine(string.Format( "{0} - {1} - {2} - {3}",       i, mail.readed, mail.subject, mail.address ) );   }   i++;   listView1.Items.Add(item); といった具合にしてみてはいかがでしょう

mizuki_sak
質問者

お礼

ありがとうございます。 問題になっていた部分は無事解決いたしました。 ただ、また新たな問題が上がってきたので別枠で 質問を投げようと思います。

関連するQ&A