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

In This Topic
    Print Manager Helper Methods
    In This Topic

    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