Back to Devexpress

RepositoryItemButtonEdit Class

windowsforms-devexpress-dot-xtraeditors-dot-repository-eb13d956.md

latest12.2 KB
Original Source

RepositoryItemButtonEdit Class

An object that contains settings specific to a ButtonEdit control. Repository items allow you to embed editors into container controls (for instance, GridControl, TreeList, RibbonControl).

Namespace : DevExpress.XtraEditors.Repository

Assembly : DevExpress.XtraEditors.v25.2.dll

NuGet Package : DevExpress.Win.Navigation

Declaration

csharp
[DXLicenseWinFormsEditors]
public class RepositoryItemButtonEdit :
    RepositoryItemTextEdit
vb
<DXLicenseWinFormsEditors>
Public Class RepositoryItemButtonEdit
    Inherits RepositoryItemTextEdit

The following members return RepositoryItemButtonEdit objects:

Remarks

A RepositoryItemButtonEdit object contains properties, methods, and events related to a ButtonEdit control.

Standalone Editors

If you use a standalone ButtonEdit control, its ButtonEdit.Properties property returns a RepositoryItemButtonEdit instance. You can access this object to customize the editor’s settings.

The following example adds a button to a standalone ButtonEdit control, and handles the ButtonClick event to respond to button clicks.

csharp
using DevExpress.XtraEditors.Repository;

RepositoryItemButtonEdit properties = buttonEdit1.Properties;
properties.Buttons.Clear();
properties.Buttons.Add(new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Close));
properties.ButtonClick += Properties_ButtonClick;

private void Properties_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) {
    if(e.Button.Kind==DevExpress.XtraEditors.Controls.ButtonPredefines.Close) {
        //...
    }
}
vb
Imports DevExpress.XtraEditors.Repository

Dim properties As RepositoryItemButtonEdit = ButtonEdit1.Properties
properties.Buttons.Clear()
properties.Buttons.Add(New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Close))
AddHandler properties.ButtonClick, AddressOf Properties_ButtonClick

Private Sub Properties_ButtonClick(sender As Object, e As ButtonPressedEventArgs)
    If e.Button.Kind = ButtonPredefines.Close Then
        '...
    End If
End Sub

In-place Editors

For each editor that can be embedded in a composite control (for instance, GridControl, TreeList, RibbonControl) the DevExpress Editors library has a corresponding repository item (a RepositoryItem descendant).

Create a RepositoryItemButtonEdit object to embed a ButtonEdit control into such a composite control. See the following topic for more information: Editors and Simple Controls.

Example - Create Inplace Editor

The following example embeds an in-place ButtonEdit editor (a RepositoryItemButtonEdit object) into a Data Grid’s “Description” column.

The example creates two buttons (Undo and Copy) for the editor and handles the RepositoryItemButtonEdit.ButtonClick event to perform actions when a user clicks any of these buttons.

csharp
RepositoryItemButtonEdit inplaceButtonEdit = new RepositoryItemButtonEdit();
inplaceButtonEdit.Buttons.Clear();
//Undo Button
EditorButton undoButton = new EditorButton(ButtonPredefines.Undo);
undoButton.Enabled = false;
//Copy Button
EditorButton copyButton = new EditorButton(ButtonPredefines.Glyph);
copyButton.Caption = "Copy";
copyButton.ImageOptions.SvgImage = global::WindowsFormsApplication2.Properties.Resources.copy;
copyButton.ImageOptions.SvgImageSize = new Size(16, 16);

inplaceButtonEdit.Buttons.Add(undoButton);
inplaceButtonEdit.Buttons.Add(copyButton);
inplaceButtonEdit.ButtonClick += InplaceButtonEdit_ButtonClick;
inplaceButtonEdit.EditValueChanged += InplaceButtonEdit_EditValueChanged;
gridView1.Columns["Description"].ColumnEdit = inplaceButtonEdit;
gridView1.GridControl.RepositoryItems.Add(inplaceButtonEdit);

private void InplaceButtonEdit_ButtonClick(object sender, ButtonPressedEventArgs e) {
    ButtonEdit editor = sender as ButtonEdit;
    if (e.Button.Kind == ButtonPredefines.Undo) {
        editor.Undo();
    }
    if (e.Button.Kind == ButtonPredefines.Glyph && e.Button.Caption == "Copy") {
        editor.SelectAll();
        editor.Copy();
    }
}

private void InplaceButtonEdit_EditValueChanged(object sender, EventArgs e) {
    ButtonEdit editor = sender as ButtonEdit;
    if (editor.Properties.Buttons.Count == 0) return;
    EditorButton undoButton = editor.Properties.Buttons[0];
    if ( undoButton.Kind == ButtonPredefines.Undo) {
        undoButton.Enabled = editor.CanUndo;
    }
}
vb
Dim inplaceButtonEdit As RepositoryItemButtonEdit = New RepositoryItemButtonEdit()
inplaceButtonEdit.Buttons.Clear()
'Undo Button
Dim undoButton As EditorButton = New EditorButton(ButtonPredefines.Undo)
undoButton.Enabled = False
'Copy Button
Dim copyButton As EditorButton = New EditorButton(ButtonPredefines.Glyph)
copyButton.Caption = "Copy"
copyButton.ImageOptions.SvgImage = Global.WindowsFormsApplication7.My.Resources.copy
copyButton.ImageOptions.SvgImageSize = New Size(16, 16)

inplaceButtonEdit.Buttons.Add(undoButton)
inplaceButtonEdit.Buttons.Add(copyButton)
AddHandler inplaceButtonEdit.ButtonClick, AddressOf InplaceButtonEdit_ButtonClick
AddHandler inplaceButtonEdit.EditValueChanged, AddressOf InplaceButtonEdit_EditValueChanged
GridView1.Columns("Description").ColumnEdit = inplaceButtonEdit
GridView1.GridControl.RepositoryItems.Add(inplaceButtonEdit)

Private Sub InplaceButtonEdit_ButtonClick(ByVal sender As Object, ByVal e As ButtonPressedEventArgs)
    Dim editor As ButtonEdit = TryCast(sender, ButtonEdit)
    If e.Button.Kind = ButtonPredefines.Undo Then
        editor.Undo()
    End If
    If e.Button.Kind = ButtonPredefines.Glyph AndAlso e.Button.Caption = "Copy" Then
        editor.SelectAll()
        editor.Copy()
    End If
End Sub

Private Sub InplaceButtonEdit_EditValueChanged(ByVal sender As Object, ByVal e As EventArgs)
    Dim editor As ButtonEdit = TryCast(sender, ButtonEdit)
    If editor.Properties.Buttons.Count = 0 Then
        Return
    End If
    Dim undoButton As EditorButton = editor.Properties.Buttons(0)
    If undoButton.Kind = ButtonPredefines.Undo Then
        undoButton.Enabled = editor.CanUndo
    End If
End Sub

Inheritance

Show 39 items

Object MarshalByRefObject Component DevExpress.XtraEditors.ComponentBase RepositoryItem RepositoryItemTextEdit RepositoryItemButtonEdit RepositoryItemHyperLinkEdit

RepositoryItemHypertextLabel

RepositoryItemPopupBase

RepositoryItemBreadCrumbEdit

RepositoryItemPopupBaseAutoSearchEdit

RepositoryItemPopupContainerEdit

RepositoryItemPopupGalleryEdit

RepositoryItemDateTimeOffsetEdit

RepositoryItemSearchControl

RepositoryItemFontEdit

RepositoryItemGridLookUpEdit

RepositoryItemGridLookUpEditBase

RepositoryItemImageComboBox

RepositoryItemImageEdit

RepositoryItemLookUpEdit

RepositoryItemLookUpEditBase

RepositoryItemMemoExEdit

RepositoryItemMRUEdit

RepositoryItemPickImage

RepositoryItemCalcEdit

RepositoryItemCheckedComboBoxEdit

RepositoryItemBaseSpinEdit

RepositoryItemBlobBaseEdit

RepositoryItemColorEdit

RepositoryItemColorPickEdit

RepositoryItemComboBox

RepositoryItemDateEdit

RepositoryItemSearchLookUpEdit

RepositoryItemSpinEdit

RepositoryItemTimeEdit

RepositoryItemTimeSpanEdit

RepositoryItemTreeListLookUpEdit

See Also

RepositoryItemButtonEdit Members

ButtonEdit

Properties

Editors and Simple Controls

DevExpress.XtraEditors.Repository Namespace