當我將鼠標懸停在列表框項目上時,如何更改列表框項目的背景顏色?
我已重寫DrawItem事件與此代碼:如何在懸停時更改ListBox項目的背景顏色?
private void DrawListBox(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
Graphics g = e.Graphics;
Brush brush = ((e.State & DrawItemState.Selected) == DrawItemState.Selected) ?
new SolidBrush(Color.FromArgb(52, 146, 204)) : new SolidBrush(e.BackColor);
g.FillRectangle(brush, e.Bounds);
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font,
new SolidBrush(e.ForeColor), e.Bounds, StringFormat.GenericDefault);
e.DrawFocusRectangle();
}
然而,列表框沒有包含懸停項的屬性。也沒有像MouseEnterItem,MouseHoverItem事件或任何類似ListBox上訂閱的事件。
我做了很多的研究,但我發現在SO類似的問題,這困惑的ListBox和ListView:Hightlight Listbox item on mouse over event