windowsforms-devexpress-dot-xtragrid-dot-views-dot-winexplorer-dot-winexplorerview-46d8f4f9.md
Occurs when a context button in this WinExplorerView is clicked.
Namespace : DevExpress.XtraGrid.Views.WinExplorer
Assembly : DevExpress.XtraGrid.v25.2.dll
NuGet Packages : DevExpress.Win.Grid, DevExpress.Win.Navigation
[DXCategory("Context Buttons")]
public event ContextItemClickEventHandler ContextButtonClick
<DXCategory("Context Buttons")>
Public Event ContextButtonClick As ContextItemClickEventHandler
The ContextButtonClick event's data class is ContextItemClickEventArgs. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| DataItem | Gets or sets an Object that contains a clicked ContextItem. This object is a control or a control’s item. |
| Item | Gets a clicked ContextItem. |
| ItemInfo | Gets or sets a clicked ContextItem‘s ContextItemViewInfo. |
| ScreenBounds | Returns a Rectangle that contains a ContextItem. |
Handling the ContextButtonClick event allows you to respond to an end-user clicking a context button stored within the WinExplorerView.ContextButtons collection. See the Context Buttons section of the WinExplorer View to learn more.
If the ShowCheckBoxes option is enabled, the view displays check boxes in each record (row). The CheckBoxColumn property specifies the data field (column) that contains values for the check boxes. The code below shows how to use context check buttons instead of check boxes in the view.
using DevExpress.Utils;
using DevExpress.XtraGrid.Views.WinExplorer;
using DevExpress.XtraGrid.Views.Base;
winExplorerView1.OptionsView.ShowCheckBoxes = false;
private void winExplorerView1_ContextButtonClick(object sender, ContextItemClickEventArgs e) {
WinExplorerView view = sender as WinExplorerView;
if (e.Item.Name == "itemCheck") {
view.SetRowCellValue((int)e.DataItem, view.ColumnSet.CheckBoxColumn, ((CheckContextButton)e.Item).Checked);
}
}
private void winExplorerView1_ContextButtonCustomize(object sender, WinExplorerViewContextButtonCustomizeEventArgs e) {
WinExplorerView view = sender as WinExplorerView;
if (e.Item.Name == "itemCheck") {
((CheckContextButton)(e.Item)).Checked = Convert.ToBoolean(view.GetRowCellValue(e.RowHandle, view.ColumnSet.CheckBoxColumn));
}
}
private void winExplorerView1_CellValueChanged(object sender, CellValueChangedEventArgs e) {
WinExplorerView view = sender as WinExplorerView;
if (e.Column == view.ColumnSet.CheckBoxColumn) {
view.RefreshContextButtons();
}
}
Imports DevExpress.Utils
Imports DevExpress.XtraGrid.Views.WinExplorer
Imports DevExpress.XtraGrid.Views.Base
winExplorerView1.OptionsView.ShowCheckBoxes = False
Private Sub winExplorerView1_ContextButtonClick(ByVal sender As Object, ByVal e As ContextItemClickEventArgs) _
Handles winExplorerView1.ContextButtonClick
Dim view As WinExplorerView = TryCast(sender, WinExplorerView)
If e.Item.Name = "itemCheck" Then
view.SetRowCellValue(DirectCast(e.DataItem, Integer), view.ColumnSet.CheckBoxColumn, CType(e.Item, CheckContextButton).Checked)
End If
End Sub
Private Sub winExplorerView1_ContextButtonCustomize(ByVal sender As Object, ByVal e As WinExplorerViewContextButtonCustomizeEventArgs) _
Handles winExplorerView1.ContextButtonCustomize
Dim view As WinExplorerView = TryCast(sender, WinExplorerView)
If e.Item.Name = "itemCheck" Then
CType(e.Item, CheckContextButton).Checked = Convert.ToBoolean(view.GetRowCellValue(e.RowHandle, view.ColumnSet.CheckBoxColumn))
End If
End Sub
Private Sub winExplorerView1_CellValueChanged(ByVal sender As Object, ByVal e As CellValueChangedEventArgs) _
Handles winExplorerView1.CellValueChanged
Dim view As WinExplorerView = TryCast(sender, WinExplorerView)
If e.Column Is view.ColumnSet.CheckBoxColumn Then
view.RefreshContextButtons()
End If
End Sub
See Also