Back to Devexpress

EditingFieldExtensionsWin.RegisterImageCollectionEditor(String, String, IDictionary<String, Image>, Boolean, Boolean) Method

windowsforms-devexpress-dot-xtraprinting-dot-preview-dot-editingfieldextensionswin-dot-registerimagecollectioneditor-x28-string-string-idictionary-string-image-boolean-boolean-x29.md

latest6.3 KB
Original Source

EditingFieldExtensionsWin.RegisterImageCollectionEditor(String, String, IDictionary<String, Image>, Boolean, Boolean) Method

Registers an image editor with a filterable collection of predefined named images to be used for changing image content in Print Preview.

Namespace : DevExpress.XtraPrinting.Preview

Assembly : DevExpress.XtraPrinting.v25.2.dll

NuGet Package : DevExpress.Win.Printing

Declaration

csharp
public virtual bool RegisterImageCollectionEditor(
    string name,
    string displayName,
    IDictionary<string, Image> images,
    bool searchEnabled,
    bool sizeOptionsEnabled
)
vb
Public Overridable Function RegisterImageCollectionEditor(
    name As String,
    displayName As String,
    images As IDictionary(Of String, Image),
    searchEnabled As Boolean,
    sizeOptionsEnabled As Boolean
) As Boolean

Parameters

NameTypeDescription
nameString

The name of the registered image collection editor.

| | displayName | String |

The display name of the registered image collection editor.

| | images | IDictionary<String, Image> |

The editor’s image collection.

| | searchEnabled | Boolean |

true if the editor allows end users to use incremental search in the image collection; otherwise, false.

| | sizeOptionsEnabled | Boolean |

true if the editor allows end users to set up the image’s size and alignment options; otherwise, false.

|

Returns

TypeDescription
Boolean

true if the image list has been successfully registered; otherwise, false.

|

Remarks

Use this method to register an image editor with a collection of predefined images in the application.

csharp
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using DevExpress.XtraPrinting.Preview;
//...

Dictionary<string, Image> images = new Dictionary<string, Image>();
foreach (var file in Directory.GetFiles("../../Flags/", "*.png")) {
    Image img = Image.FromFile(file);
    if (img != null) {
        string name = Path.GetFileNameWithoutExtension(file);
        images.Add(name, img);
    }
}
EditingFieldExtensionsWin.Instance.RegisterImageCollectionEditor("Nationality", "Nationality", images, true, false);
vb
Imports System.Collections.Generic
Imports System.Drawing
Imports System.IO
Imports DevExpress.XtraPrinting.Preview
'...

Private images As New Dictionary(Of String, Image)()
For Each file In Directory.GetFiles("../../Flags/", "*.png")
    Dim img As Image = Image.FromFile(file)
    If img IsNot Nothing Then
        Dim name As String = Path.GetFileNameWithoutExtension(file)
        images.Add(name, img)
    End If
Next file
EditingFieldExtensionsWin.Instance.RegisterImageCollectionEditor("Nationality", "Nationality", images, True, False)

To use this editor for image editing in Print Preview, set a XRPictureBox control’s EditOptions | Enabled property to true and the EditOptions | EditorName property - to the registered editor’s name.

Set image edit options in the End-User Report Designer’s Property Grid.

The following sample demonstrates how to do this in code.

csharp
using DevExpress.XtraReports.UI;
//...
XtraReport1 report = new XtraReport1();
XRPictureBox pictureBox = report.Bands["ReportHeader"].FindControl("xrPictureBox1", true) as XRPictureBox;
pictureBox.EditOptions.Enabled = true;
pictureBox.EditOptions.EditorName = "Nationality";
vb
Imports DevExpress.XtraReports.UI
'...
Private report As New XtraReport1()
Private pictureBox As XRPictureBox = TryCast(report.Bands("ReportHeader").FindControl("xrPictureBox1", True), XRPictureBox)
pictureBox.EditOptions.Enabled = True
pictureBox.EditOptions.EditorName = "Nationality"

When an end user clicks the Picture Box in Print Preview, the assigned editor activates. This editor allows end users to use an incremental search to find an image in the collection, set up the image’s size and alignment options, and reset the initial image.

Note

Use the RegisterImageEditor(String, String, ImageEditorOptions) method instead if you need to add the Brush Options and/or Load Image menu items as well.

See Also

EditingFieldExtensionsWin Class

EditingFieldExtensionsWin Members

DevExpress.XtraPrinting.Preview Namespace