3 下拉列表中的图像和自定义控制它
本文关键字:自定义 控制 图像 下拉列表 | 更新日期: 2023-09-27 18:37:01
我是这个论坛的新手,也是C#世界中的新人,我得到了这个问题:
如何在一个下拉项中绘制3张图像,我从这个网站得到了这个代码
http://www.csharphelp.com/2006/08/combobox-with-images/
我想在我的下拉控件中添加 3 张这样的图像 [见下图],我也控制了这些图像,就像拖放并单击图像时它会做一些事情,或者类似的东西
示例图像 : http://i59.tinypic.com/2viftyf.jpg
有可能做到吗?对不起我的英语
感谢您的回答 n 重播。
您可以创建一个新类,该类继承自下拉类并覆盖其 paint 函数(但这有点太高级了)。
如果您正在使用 ASP.NET 则可以查看此答案。
如果您使用的是WinForms,则必须覆盖paint函数。你可以看看这篇文章:使用 C# 组合框放置图像和字符串
编辑(在第二条评论之后):
如果我理解正确,您必须更改这些行:
if (item.ImageIndex != -1)
{
imageList.Draw(ea.Graphics, bounds.Left, bounds.Top, item.ImageIndex);
ea.Graphics.DrawString(item.Text, ea.Font, new
SolidBrush(ea.ForeColor), bounds.Left+imageSize.Width, bounds.Top);
}
进入这个:
// some code
for (int i = 0; i < 3; i++)
imageList.Draw(ea.Graphics, bounds.Left + i * imageSize.Width, bounds.Top, i);
// your graphics, left offset + i * image width, top offset, image index
ea.Graphics.DrawString(item.Text, ea.Font, new
SolidBrush(ea.ForeColor), bounds.Left + 4 * imageSize.Width, bounds.Top);
// adjust left string offset here
// some code
首先,你用的是html
吗?
Html DropDowns是select
标签,不支持他的自定义类型。您可以使用其他 html 标记"伪造"此 UI,并使它们看起来像下拉列表,例如<ul><li>
标记。
有一些插件可以为您执行此操作,例如剑道下拉菜单