1

我用组合框阅读了这个主题http://technicalsol.blogspot.com/2009/03/combobox-set-font-style.html但在工具条组合框不存在事件 draw_item 我需要你的帮助。我正在用 C# 编写简单的写字板。

4

1 回答 1

6

这是因为 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..

    }
}

使用您需要测量的代码填充事件处理程序,并以自己的字体样式绘制字体名称。

于 2011-03-01T13:56:15.447 回答