Xceed Chart for WinForms v4.4 Documentation
Print Manager Helper Methods

Welcome to Xceed Chart for WinForms v4.4 > User Guide > Printing > Print Manager Helper Methods

The PrintManager object also exposes several methods that are not used directly in the printing process, but which can come in handy when you build your own print-enabled applications using Xceed Chart for WinForms. These are helper methods that enumerate installed printers, paper sizes, and paper sources.

Enumerating Installed Printers

The EnumerateInstalledPrinters function fills an ArrayList with the installed printers and returns the index of the default printer. If there are no installed printers, the array is empty and the returned index is -1. The following code fills a combo box with the installed printers:

VB.NET  

Dim arrComboItems As ArrayList = New ArrayList()
Dim nDefaultPrinter As Integer = m_ChartControl.PrintManager.EnumerateInstalledPrinters(arrComboItems)
Dim i As Integer

For i = 0 To arrComboItems.Count- 1 Step i + 1
InstalledPrintersComboBox.Items.Add(CType(arrComboItems(i), String))
Next
C#  

ArrayList arrComboItems = new ArrayList();
int nDefaultPrinter = m_ChartControl.PrintManager.EnumerateInstalledPrinters(arrComboItems);

for (int i = 0; i < arrComboItems.Count; i++)
{
InstalledPrintersComboBox.Items.Add((String)arrComboItems[i]);
}

Enumerating Paper Sizes

You can enumerate the paper sizes supported by an installed printer by using the EnumeratePaperSizes function, which accepts an index of a printer and an ArrayList filled with PaperSize objects. The function returns the default paper size. The following code fills a combo box with the paper size for the selected printer index:

VB.NET  

Dim arrComboItems As ArrayList = New ArrayList()
Dim paperSize As PaperSize = m_PrintManager.EnumeratePaperSizes(currentPrinter, arrComboItems)

Dim i As Integer
For i = 0 To arrComboItems.Count- 1 Step i + 1
If CType(arrComboItems(i) = paperSize.PaperName,String) Then
selectedIndex = i
End If

PaperSizeComboBox.Items.Add(CType(arrComboItems(i), String))
Next

If selectedIndex <> -1 Then
PaperSizeComboBox.SelectedIndex = selectedIndex
End If
C#  

ArrayList arrComboItems = new ArrayList();
PaperSize paperSize = m_PrintManager.EnumeratePaperSizes(currentPrinter, arrComboItems);

for (int i = 0; i < arrComboItems.Count; i++)
{
if ((String)arrComboItems[i] == paperSize.PaperName)
selectedIndex = i;

PaperSizeComboBox.Items.Add((String)arrComboItems[i]);
}

if (selectedIndex != -1)
PaperSizeComboBox.SelectedIndex = selectedIndex;

Enumerating Paper Sources

Finally, you can enumerate the paper sources supported by a printer by using the EnumeratePaperSources function. It is similar to the EnumeratePaperSizes but fills an array with the supported paper sources and returns a PaperSource object. The following code fills a combo box with the supported paper sources:

VB.NET  

Dim arrComboItems As ArrayList = New ArrayList()
Dim defaultPaperSource As PaperSource = m_PrintManager.EnumeratePaperSources(currentPrinter,arrComboItems)

Dim i As Integer
For i = 0 To arrComboItems.Count- 1 Step i + 1
If CType(arrComboItems(i), String) = defaultPaperSource.SourceName Then
selectedIndex = i
End If

PaperSourceComboBox.Items.Add(CType(arrComboItems(i), String))
Next

If selectedIndex <> -1 Then
PaperSourceComboBox.SelectedIndex = selectedIndex
End If
C#  

ArrayList arrComboItems = new ArrayList();
PaperSource defaultPaperSource = m_PrintManager.EnumeratePaperSources(currentPrinter, arrComboItems);

for (int i = 0; i < arrComboItems.Count; i++)
{
if ((String)arrComboItems[i] == defaultPaperSource.SourceName)
selectedIndex = i;

PaperSourceComboBox.Items.Add((String)arrComboItems[i]);
}

if (selectedIndex != -1)
PaperSourceComboBox.SelectedIndex = selectedIndex;

Related Examples

Windows Forms: Printing\General 

Web Forms: This feature is not supported for web forms.

See Also

PrintManager | Printing Charts | Built-In Print Preview