1

我有一个带有组合框的 C# 应用程序。我以通常的方式向其中添加项目,使用循环遍历一些对象并将每个名称属性值添加到组合框:

comboBox1.Items.Add(object.name);

但后来我决定要通过文本显示图像,所以我更改了 drawMode 和 dropDownStyle 并在 drawItem 上设置了一个事件处理程序,以先绘制图像然后绘制文本。

图像绘制正确,然后出现问题。我正在使用类似的东西

 e.Graphics.DrawString("What goes here?", e.Font, new SolidBrush(e.ForeColor), e.Bounds.Left,e.Bounds.Top);

我无法将 object.name 值放入 DrawString 参数中。DrawItemEventArgs 对象 e 是否具有该值,如果是,我如何访问它?

如果不是,我真正的选择是什么?我似乎有一些示例维护一个列表以保留值,然后使用 e.Index 引用它。这真的是最好的方法吗?

提前致谢

4

1 回答 1

2

看起来DrawItemEventArgs 为您提供了 index。使用该索引索引到 comboBox1.Items。

于 2009-01-10T21:30:52.977 回答