2017-05-31 7 views
2

リストボックスにテキストボックスを使用してアイテムを追加するとき、チェックボックスをオンにしたときにテキストボックスから追加されるリストボックスアイテムの色を変更する方法を知りたいと思います。だから、チェックボックスをチェックすると、テキストボックスの色が赤く変わり、リストボックスにテキストボックスを送るためにボタンをクリックすると、リストボックスの項目が赤く変わります。チェックボックスをチェックしないと、テキストの色は黒色になります。最初に追加され、赤色になると黒色に追加され、次にリストボックスに赤色と黒色が表示されます。チェックボックスを使用して異なる色のリストボックスアイテムを追加するC#

おかげで、

private void addEventButton_Click(object sender, EventArgs e) 
    { 


     // Adds events to listbox. 
     if (this.titleTextBox.Text != "") 
     { 
      listBox1.Items.Add(this.titleTextBox.Text); 
      listBox2.Items.Add(this.titleTextBox.Text); 
      this.titleTextBox.Focus(); 
      this.titleTextBox.Clear(); 
+1

参照[この](https://stackoverflow.com/questions/2554609/c-sharp-changing-listbox -row-color)答えがあれば答える。 – CodingYoshi

答えて

0

は、リストボックスのDrawItemイベントを処理

private void listBox1_DrawItem(object sender, DrawItemEventArgs e) 
{ 
    var someObj = listBox1.Items[e.Index] as MyClass; 
    Color backColor = Color.Green; 
    if (someObj.ID == someID) { 
     backColor = Color.Gray; 
    } 

    // draw back color and text 
    var g = e.Graphics; 

    //background: 
    SolidBrush backgroundBrush = new SolidColorBrush(backcolor); 
    g.FillRectangle(backgroundBrush, e.Bounds); 

    //text: 
    SolidBrush foregroundBrush = (selected) ? reportsForegroundBrushSelected : reportsForegroundBrush; 
    g.DrawString(text, e.Font, foregroundBrush, lbReports.GetItemRectangle(index).Location); 
} 
+0

しかし、それは私がそれを正しく追加したときではなく、リストボックスのイベントをクリックした場合にのみ機能しますか? –

関連する問題