NamedRange.BeforeDoubleClick (Evento) (2007 System)
Actualización: Julio de 2008
Se produce cuando se hace doble clic en un control NamedRange, antes de que se ejecute la acción de doble clic predeterminada.
Espacio de nombres: Microsoft.Office.Tools.Excel
Ensamblado: Microsoft.Office.Tools.Excel.v9.0 (en Microsoft.Office.Tools.Excel.v9.0.dll)
Sintaxis
Public Event BeforeDoubleClick As DocEvents_BeforeDoubleClickEventHandler
Dim instance As NamedRange
Dim handler As DocEvents_BeforeDoubleClickEventHandler
AddHandler instance.BeforeDoubleClick, handler
public event DocEvents_BeforeDoubleClickEventHandler BeforeDoubleClick
Comentarios
Al hacer doble clic en los controles NamedRange superpuestos, se provoca el evento en cada uno de los controles que se superponen.
Ejemplos
En el ejemplo de código siguiente se crea un NamedRange y, a continuación, se rellenan todas las celdas con el texto Delete. Para probar los eventos, haga clic con el botón secundario del mouse en una de las celdas para que aparezca un borde alrededor del rango y, a continuación, haga doble clic en una de las celdas para borrar el rango.
Se trata de una versión para una personalización en el nivel del documento.
Private clickRange As Microsoft.Office.Tools.Excel.NamedRange
Private Sub ClickToChangeRange()
clickRange = Me.Controls.AddNamedRange(Me.Range("B2", "D4"), _
"clickRange")
clickRange.Value2 = "Delete"
AddHandler clickRange.BeforeDoubleClick, _
AddressOf clickRange_BeforeDoubleClick
AddHandler clickRange.BeforeRightClick, _
AddressOf clickRange_BeforeRightClick
End Sub
Sub clickRange_BeforeRightClick(ByVal Target As Excel.Range, _
ByRef Cancel As Boolean)
clickRange.BorderAround(, Excel.XlBorderWeight.xlThick, _
Excel.XlColorIndex.xlColorIndexAutomatic, )
Cancel = True
End Sub
Sub clickRange_BeforeDoubleClick(ByVal Target As _
Excel.Range, ByRef Cancel As Boolean)
clickRange.Clear()
Cancel = True
End Sub
Microsoft.Office.Tools.Excel.NamedRange clickRange;
private void ClickToChangeRange()
{
clickRange = this.Controls.AddNamedRange(
this.Range["B2", "D4"], "clickRange");
clickRange.Value2 = "Delete";
clickRange.BeforeDoubleClick += new
Microsoft.Office.Interop.Excel.
DocEvents_BeforeDoubleClickEventHandler(
clickRange_BeforeDoubleClick);
clickRange.BeforeRightClick += new
Microsoft.Office.Interop.Excel.
DocEvents_BeforeRightClickEventHandler(
clickRange_BeforeRightClick);
}
void clickRange_BeforeRightClick(
Excel.Range Target, ref bool Cancel)
{
clickRange.BorderAround(missing, Excel.XlBorderWeight.xlThick,
Excel.XlColorIndex.xlColorIndexAutomatic, missing);
Cancel = true;
}
void clickRange_BeforeDoubleClick(
Excel.Range Target, ref bool Cancel)
{
clickRange.Clear();
Cancel = true;
}
Se trata de una versión para un complemento en el nivel de la aplicación.
Private clickRange As NamedRange
Private Sub ClickToChangeRange()
Dim vstoWorksheet As Worksheet = CType( _
Me.Application.ActiveWorkbook.Worksheets(1), _
Excel.Worksheet).GetVstoObject()
clickRange = vstoWorksheet.Controls.AddNamedRange( _
vstoWorksheet.Range("B2", "D4"), _
"clickRange")
clickRange.Value2 = "Delete"
AddHandler clickRange.BeforeDoubleClick, _
AddressOf clickRange_BeforeDoubleClick
AddHandler clickRange.BeforeRightClick, _
AddressOf clickRange_BeforeRightClick
End Sub
Sub clickRange_BeforeRightClick(ByVal Target As Excel.Range, _
ByRef Cancel As Boolean)
clickRange.BorderAround(, Excel.XlBorderWeight.xlThick, _
Excel.XlColorIndex.xlColorIndexAutomatic, )
Cancel = True
End Sub
Sub clickRange_BeforeDoubleClick(ByVal Target As _
Excel.Range, ByRef Cancel As Boolean)
clickRange.Clear()
Cancel = True
End Sub
NamedRange clickRange;
private void ClickToChangeRange()
{
Worksheet vstoWorksheet = ((Excel.Worksheet)
this.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
clickRange = vstoWorksheet.Controls.AddNamedRange(
vstoWorksheet.Range["B2", "D4"], "clickRange");
clickRange.Value2 = "Delete";
clickRange.BeforeDoubleClick += new
Excel.DocEvents_BeforeDoubleClickEventHandler(
clickRange_BeforeDoubleClick);
clickRange.BeforeRightClick += new
Excel.DocEvents_BeforeRightClickEventHandler(
clickRange_BeforeRightClick);
}
void clickRange_BeforeRightClick(
Excel.Range Target, ref bool Cancel)
{
clickRange.BorderAround(missing, Excel.XlBorderWeight.xlThick,
Excel.XlColorIndex.xlColorIndexAutomatic, missing);
Cancel = true;
}
void clickRange_BeforeDoubleClick(
Excel.Range Target, ref bool Cancel)
{
clickRange.Clear();
Cancel = true;
}
Permisos
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
Microsoft.Office.Tools.Excel (Espacio de nombres)
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Julio de 2008 |
Agregada una versión del ejemplo de código para un complemento en el nivel de la aplicación. |
Cambio de características de SP1. |