samideqlqpart 发表于 2016-8-31 16:41:21

使ComboBox显示带有vb.net文本的图像或图标

大家好
我的问题是如何制作一个显示一系列颜色样本或图像列表的ComboBox,或者如何制作一个显示一系列带有关联文本的图像的ComboBox。
我做了一个,但是我的组合框中的
图标不是我想要的
这是我的代码和结果
Private SubComboBox1_DrawItem(ByVal sender AsSystem.Object, ByVal e AsSystem.Windows.Forms.DrawItemEventArgs)处理ComboBox1.DrawItem
如果(e.Index-1)那么
e.Graphics.DrawImage(ImageList1.Images(e.Index),e.Bounds.Left,e.Bounds.Top)
e.Graphics.DrawString(Me.ComboBox1.Items(e.Index)。ToString(),e.Font,System.Drawing.Brushes.Black,e.Bounds.Left+ImageList1.Images(e.Index)。宽度,e.Bounds.Top)
结束如果
结束子
谢谢

**** Hidden Message *****

BillZndl 发表于 2016-9-1 06:30:37

或者,只需使用listview:listView1.View=View.Details;//启用详细信息视图,以便您可以查看列。
listView1.Items.Add(new ListViewItem{ImageIndex=0, Text="Image 1" }); 。
来源:http://stackoverflow.com/questions/17151776/c-sharp-listview-adding-item-with-image-and-text-and-align-the-text-to-left。

MexicanCustard 发表于 2016-9-1 07:14:11

WPF。只是说说而已。

MickD 发表于 2016-9-1 07:15:20

谷歌是你的朋友
http://www.codeproject.com/Articles/106467/How-to-Display-Images-in-ComboBox-in-Minutes

MickD 发表于 2016-9-1 07:38:57

Syncfusion为个人和小型企业提供了一套免费的控件。我个人不使用控件,但它们确实有一个组合框,看起来它可能适用于您想要的内容。
https://www.syncfusion.com/products/communitylicense

samideqlqpart 发表于 2016-9-1 18:42:29

因此,正如MexicoCustard所建议的那样,您现在似乎有一些选择,WPF是您最好的解决方案,即使学习如何比WinForms困难一些,您也可以更好地控制表单的外观。
无论你选择什么,试一试,如果你遇到困难,我相信一旦你有一些代码要审查,我们可以给你更具体的帮助。
干杯。

BillZndl 发表于 2016-9-2 16:12:30

谢谢
我发现这
非常有帮助
http://www . devasp . net/net/articles/display/365 . html

MexicanCustard 发表于 2016-9-6 15:32:29

我无法让图像列表正常工作,除了在小的16x16图标上。

MexicanCustard 发表于 2016-9-6 16:27:56

为了展示使用WPF有多简单。

   
      
            
               
               
            
      
   
   
      
   
页: [1]
查看完整版本: 使ComboBox显示带有vb.net文本的图像或图标