这是因为 ToolStripComboBox 派生自 ToolStripControlHost,而不是 ComboBox。您需要使用它的 Control 属性来访问组合框。像这样:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
ComboBox box = (ComboBox)toolStripComboBox1.Control;
box.DrawMode = DrawMode.OwnerDrawVariable;
box.MeasureItem += new MeasureItemEventHandler(box_MeasureItem);
box.DrawItem += new DrawItemEventHandler(box_DrawItem);
}
void box_DrawItem(object sender, DrawItemEventArgs e) {
// etc..
}
void box_MeasureItem(object sender, MeasureItemEventArgs e) {
// etc..
}
}
使用您需要测量的代码填写事件处理程序,并以自己的字体样式绘制字体名称。