SetProperty Method
Collapse the table of content
Expand the table of content

PrintPropertyDictionary.SetProperty Method (String, PrintProperty)

 

Sets the value of the specified attribute to an object of a class that is derived from PrintProperty.

Namespace:   System.Printing.IndexedProperties
Assembly:  System.Printing (in System.Printing.dll)

Public Sub SetProperty (
	attribName As String,
	attribValue As PrintProperty
)

Parameters

attribName
Type: System.String

The name of the attribute.

attribValue
Type: System.Printing.IndexedProperties.PrintProperty

An object of a type that is derived from PrintProperty.

Exception Condition
ArgumentException

attribName is already in the dictionary and it already has the value attribValue.

If the dictionary does not already contain attribName, attribName will be added and set to attribValue, provided that attribName is identical to attribValue.Name. If these values are not identical, this method does nothing.

The following example shows how to use this method to install a second printer that differs in its properties from an existing printer only in location, port, and shared status.

Dim myLocalPrintServer As New LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer)
Dim sourcePrintQueue As PrintQueue = myLocalPrintServer.DefaultPrintQueue
Dim myPrintProperties As PrintPropertyDictionary = sourcePrintQueue.PropertiesCollection

' Share the new printer using Remove/Add methods
Dim [shared] As New PrintBooleanProperty("IsShared", True)
myPrintProperties.Remove("IsShared")
myPrintProperties.Add("IsShared", [shared])

' Give the new printer its share name using SetProperty method
Dim theShareName As New PrintStringProperty("ShareName", """Son of " & sourcePrintQueue.Name & """")
myPrintProperties.SetProperty("ShareName", theShareName)

' Specify the physical location of the new printer using Remove/Add methods
Dim theLocation As New PrintStringProperty("Location", "the supply room")
myPrintProperties.Remove("Location")
myPrintProperties.Add("Location", theLocation)

' Specify the port for the new printer
Dim port() As String = { "COM1:" }


' Install the new printer on the local print server
Dim clonedPrinter As PrintQueue = myLocalPrintServer.InstallPrintQueue("My clone of " & sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties)
myLocalPrintServer.Commit()

' Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName)
Console.WriteLine("Press Return to continue ...")
Console.ReadLine()

.NET Framework
Available since 3.0
Return to top
Show:
© 2016 Microsoft