
実現したいこと
ListViewの背景色を縞々模様にする
前提
動作の内容は
textboxが複数個あり、値を入力し「追加ボタン」を押すと
ListViewに複数個の値が表示する
例:名前,性別,年齢,出身
そのListView上の背景色を行ごとに交互に配色し
結果縞々模様のようにしたいと考えています
現在、
他サイトでご教授いただいたコードを使用したら、
ListViewの行をカウントし奇数の場合はすべての行が選択した色、偶数の場合はすべての行が選択した色
になってしまいます
該当のソースコード
private void setListColor()
{
for (int i = 0; i < listView1.Items.Count; i++)
{
ListViewItem item = listView1.Items[i];
if (listView1.Items.Count % 2 == 0)
{
item.BackColor = Color.White;
}
else
{
item.BackColor = Color.LightCyan;
}
}
}
public void btnAdd_Click(object sender, EventArgs e)
{
.......
setListColor()
}
プログラミングの基礎知識もないままネットや書籍で調べている状態です
全くの初心者の為理解力も乏しく大変申し訳ないです、、、
恐縮ではございますが、どうぞ宜しくお願いいたします
該当のソースコード
namespace Listview_csvvvvv
{
public partial class Form1 : Form
{
public object sfd { get; private set; }
public int i { get; private set; }
public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e) { } public void btnAdd_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtName.Text) || string.IsNullOrEmpty(txtGender.Text) || string.IsNullOrEmpty(txtAge.Text) || string.IsNullOrEmpty(txtBirthplace.Text) || string.IsNullOrEmpty(txtHobby.Text)) return; ListViewItem item = new ListViewItem(txtName.Text); item.SubItems.Add(txtGender.Text); item.SubItems.Add(txtAge.Text); item.SubItems.Add(txtBirthplace.Text); item.SubItems.Add(txtHobby.Text); listView1.Items.Add(item); txtName.Clear(); txtGender.Clear(); txtAge.Clear(); txtBirthplace.Clear(); txtHobby.Clear(); //setListColor();//背景色を帰るのを呼び出してる } /*private void setListColor() //背景色 交互にならんん { for (int i = 0; i < listView1.Items.Count; i++) { ListViewItem item = listView1.Items[i]; if (listView1.Items.Count % 2 == 0) { item.BackColor = Color.White; } else { item.BackColor = Color.LightCyan; } } }*/




回答2件
あなたの回答
tips
プレビュー