Vb.net PropertyGrid中已安装打印机的列表

Vb.net PropertyGrid中已安装打印机的列表,vb.net,Vb.net,在我的应用程序中,我使用PropertyGrid。 大多数值都是在枚举中预定义的,所以属性网格让我自动选择(在组合框中)在它们之间进行选择 其中,我必须选择在哪台打印机上打印应用程序。 这些数据不能存储在Enum上,因为几乎每台机器上的数据都不同 这里有一种方法可以获取属性网格中已安装打印机的组合框列表吗? 当然,我知道如何使用已安装的打印机名称创建字符串列表。该示例演示了如何通过ComBobox显示所有已安装的打印机,您可以编辑它以在属性网格上显示: 那部分我知道。我将如何编辑它以显示在Pr

在我的应用程序中,我使用PropertyGrid。
大多数值都是在枚举中预定义的,所以属性网格让我自动选择(在组合框中)在它们之间进行选择

其中,我必须选择在哪台打印机上打印应用程序。
这些数据不能存储在Enum上,因为几乎每台机器上的数据都不同

这里有一种方法可以获取属性网格中已安装打印机的组合框列表吗?

当然,我知道如何使用已安装的打印机名称创建字符串列表。

该示例演示了如何通过ComBobox显示所有已安装的打印机,您可以编辑它以在属性网格上显示:


那部分我知道。我将如何编辑它以显示在PrepertyGrid上?您是否能够找到解决方案?如果有,请分享。谢谢,我喜欢。您必须为“PrinterList”这样的新类型创建一个类。请参见此处:然后在所需属性下,必须使用TypeConverter(GetType(PrinterList))。。。以字符串形式显示打印机名称。组合框将自动出现。
Dim InstalledPrinters As String

' Find all printers installed
For Each InstalledPrinters In _
    System.Drawing.Printing.PrinterSettings.InstalledPrinters
    Me.Combobox1.Items.Add(InstalledPrinters)
Next InstalledPrinters

' Set the combo to the first printer in the list
Me.Combobox1.SelectedIndex = 0