Edit

Share via


PrintStringProperty Constructors

Definition

Initializes a new instance of the PrintStringProperty class.

Overloads

PrintStringProperty(String)

Initializes a new instance of the PrintStringProperty class for the specified property.

PrintStringProperty(String, Object)

Initializes a new instance of the PrintStringProperty class that has the specified value for the specified property.

PrintStringProperty(String)

Initializes a new instance of the PrintStringProperty class for the specified property.

public:
 PrintStringProperty(System::String ^ attributeName);
public PrintStringProperty (string attributeName);
new System.Printing.IndexedProperties.PrintStringProperty : string -> System.Printing.IndexedProperties.PrintStringProperty
Public Sub New (attributeName As String)

Parameters

attributeName
String

The name of the String property that the PrintStringProperty represents.

Remarks

The attributeName should be spelled exactly the same as the name of some particular String property of a print system object, including casing. For example, the Submitter property of a PrintSystemJobInfo object must be spelled "Submitter", not "submitter".

Applies to

PrintStringProperty(String, Object)

Initializes a new instance of the PrintStringProperty class that has the specified value for the specified property.

public:
 PrintStringProperty(System::String ^ attributeName, System::Object ^ attributeValue);
public PrintStringProperty (string attributeName, object attributeValue);
new System.Printing.IndexedProperties.PrintStringProperty : string * obj -> System.Printing.IndexedProperties.PrintStringProperty
Public Sub New (attributeName As String, attributeValue As Object)

Parameters

attributeName
String

The name of the String property that the PrintStringProperty represents.

attributeValue
Object

The value of the property that the PrintStringProperty represents.

Examples

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

LocalPrintServer myLocalPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
PrintQueue sourcePrintQueue = myLocalPrintServer.DefaultPrintQueue;
PrintPropertyDictionary myPrintProperties = sourcePrintQueue.PropertiesCollection;

// Share the new printer using Remove/Add methods
PrintBooleanProperty shared = new PrintBooleanProperty("IsShared", true);
myPrintProperties.Remove("IsShared");
myPrintProperties.Add("IsShared", shared);

// Give the new printer its share name using SetProperty method
PrintStringProperty theShareName = new PrintStringProperty("ShareName", "\"Son of " + sourcePrintQueue.Name +"\"");
myPrintProperties.SetProperty("ShareName", theShareName);

// Specify the physical location of the new printer using Remove/Add methods
PrintStringProperty theLocation = new PrintStringProperty("Location", "the supply room");
myPrintProperties.Remove("Location");
myPrintProperties.Add("Location", theLocation);

// Specify the port for the new printer
String[] port = new String[] { "COM1:" };

// Install the new printer on the local print server
PrintQueue clonedPrinter = 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();
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()

Remarks

The attributeName should be spelled exactly the same as the name of some particular String property of a print system object, including casing. For example, the Submitter property of a PrintSystemJobInfo object must be spelled "Submitter", not "submitter".

Applies to