2012-04-07 84 views
1

我希望能够用水平线分隔列表框中的每个项目。如何在ListBoxItems之间绘制一条线

这只是我绘制项目的一些代码。

private void symptomsList_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) 
    { 
     bool selected = ((e.State & DrawItemState.Selected) == DrawItemState.Selected); 
     int index = e.Index; 
     Graphics g = e.Graphics; 
     Color color; 
     if (selected == true) 
     { 
      color = Color.Red; 
     } 
     else 
     { 
      color = Color.Pink; 
     } 
     /* Draw Background */ 
     g.FillRectangle(new SolidBrush(color), e.Bounds); 

     /* Draw Item Text */ 
     g.DrawString(symptomsList.Items[e.Index].ToString(), e.Font, new SolidBrush(Color.Black), e.Bounds, StringFormat.GenericDefault); 

     e.DrawFocusRectangle(); 
    } 

回答

2

FillRectangle(...)使用这样的:

Color borderColor = Color.Black; 
g.DrawRectangle(new Pen(borderColor), e.Bounds); 
相关问题