【发布时间】:2014-06-29 11:50:06
【问题描述】:
我更改了各种控件的突出显示颜色,并计划进行更多更改。因此,我最好创建自己的控件并重复使用它们,而不是为每个控件进行更改。
我创建了一个新的用户控件,并继承自System.Windows.Forms.ComboBox。
问题是我找不到像 onClick 那样覆盖 onDraw 的方法。
那么我将如何去覆盖它?这是我用于每个控件onDraw事件的代码
public void comboMasterUsers_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
Graphics g = e.Graphics;
Brush brush = ((e.State & DrawItemState.Selected) == DrawItemState.Selected) ?
Brushes.LightSeaGreen : new SolidBrush(e.BackColor);
g.FillRectangle(brush, e.Bounds);
e.Graphics.DrawString(comboMasterUsers.Items[e.Index].ToString(), e.Font,
new SolidBrush(e.ForeColor), e.Bounds, StringFormat.GenericDefault);
e.DrawFocusRectangle();
}
谢谢!
【问题讨论】:
标签: c# inheritance combobox controls ondraw