windowsforms-devexpress-dot-xtraprinting-dot-preview-dot-editingfieldextensionswin-dot-registerimagecollectioneditor-x28-string-string-idictionary-string-image-boolean-boolean-x29.md
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
public virtual bool RegisterImageCollectionEditor(
string name,
string displayName,
IDictionary<string, Image> images,
bool searchEnabled,
bool sizeOptionsEnabled
)
Public Overridable Function RegisterImageCollectionEditor(
name As String,
displayName As String,
images As IDictionary(Of String, Image),
searchEnabled As Boolean,
sizeOptionsEnabled As Boolean
) As Boolean
| Name | Type | Description |
|---|---|---|
| name | String |
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.
|
| Type | Description |
|---|---|
| Boolean |
true if the image list has been successfully registered; otherwise, false.
|
Use this method to register an image editor with a collection of predefined images in the application.
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);
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.
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";
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