Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
DataGridViewButtonCell (Clase)
Muestra una interfaz de usuario con apariencia de botón para su uso en un control DataGridView.
System.Windows.Forms.DataGridViewElement
System.Windows.Forms.DataGridViewCell
System.Windows.Forms.DataGridViewButtonCell
Ensamblado: System.Windows.Forms (en System.Windows.Forms.dll)
El tipo DataGridViewButtonCell expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
DataGridViewButtonCell | Inicializa una nueva instancia de la clase DataGridViewButtonCell. |
| Nombre | Descripción | |
|---|---|---|
|
AccessibilityObject | Obtiene el objeto DataGridViewCell.DataGridViewCellAccessibleObject asignado a DataGridViewCell. (Se hereda de DataGridViewCell). |
|
ColumnIndex | Obtiene el índice de columna de esta celda. (Se hereda de DataGridViewCell). |
|
ContentBounds | Obtiene el rectángulo delimitador que rodea el área de contenido de la celda. (Se hereda de DataGridViewCell). |
|
ContextMenuStrip | Obtiene o establece el menú contextual asociado a la celda. (Se hereda de DataGridViewCell). |
|
DataGridView | Obtiene el control DataGridView asociado a este elemento. (Se hereda de DataGridViewElement). |
|
DefaultNewRowValue | Obtiene el valor predeterminado de una celda de la fila de nuevos registros. (Se hereda de DataGridViewCell). |
|
Displayed | Obtiene un valor que indica si la celda se muestra actualmente en pantalla. (Se hereda de DataGridViewCell). |
|
EditedFormattedValue | Obtiene el valor actual con formato de la celda, con independencia de si la celda está en modo de edición y no se ha confirmado el valor. (Se hereda de DataGridViewCell). |
|
EditType | Obtiene el tipo del control de edición hospedado de la celda. (Invalida a DataGridViewCell.EditType). |
|
ErrorIconBounds | Obtiene los límites del icono de error para la celda. (Se hereda de DataGridViewCell). |
|
ErrorText | Obtiene o establece el texto que describe una condición de error asociada a la celda. (Se hereda de DataGridViewCell). |
|
FlatStyle | Obtiene o establece el estilo que determina la apariencia del botón. |
|
FormattedValue | Obtiene el valor de la celda con el formato para mostrar. (Se hereda de DataGridViewCell). |
|
FormattedValueType | Obtiene el tipo del valor con formato asociado a la celda. (Invalida a DataGridViewCell.FormattedValueType). |
|
Frozen | Obtiene un valor que indica si la celda está inmovilizada. (Se hereda de DataGridViewCell). |
|
HasStyle | Obtiene un valor que indica si se ha establecido la propiedad Style. (Se hereda de DataGridViewCell). |
|
InheritedState | Obtiene el estado actual de la celda tal como lo hereda del estado de su fila y columna. (Se hereda de DataGridViewCell). |
|
InheritedStyle | Obtiene el estilo aplicado actualmente a la celda. (Se hereda de DataGridViewCell). |
|
IsInEditMode | Obtiene un valor que indica si actualmente se está editando la celda. (Se hereda de DataGridViewCell). |
|
OwningColumn | Obtiene la columna que contiene esta celda. (Se hereda de DataGridViewCell). |
|
OwningRow | Obtiene la fila que contiene esta celda. (Se hereda de DataGridViewCell). |
|
PreferredSize | Obtiene el tamaño, en píxeles, de un área rectangular en la que cabe la celda. (Se hereda de DataGridViewCell). |
|
ReadOnly | Obtiene o establece un valor que indica si se pueden editar los datos de la celda. (Se hereda de DataGridViewCell). |
|
Resizable | Obtiene un valor que indica si se puede cambiar el tamaño de la celda. (Se hereda de DataGridViewCell). |
|
RowIndex | Obtiene el índice de la fila primaria de la celda. (Se hereda de DataGridViewCell). |
|
Selected | Obtiene o establece un valor que indica si se ha seleccionado la celda. (Se hereda de DataGridViewCell). |
|
Size | Obtiene el tamaño de la celda. (Se hereda de DataGridViewCell). |
|
State | Obtiene el estado de la interfaz de usuario del elemento. (Se hereda de DataGridViewElement). |
|
Style | Obtiene o establece el estilo de la celda. (Se hereda de DataGridViewCell). |
|
Tag | Obtiene o establece el objeto que contiene datos complementarios sobre la celda. (Se hereda de DataGridViewCell). |
|
ToolTipText | Obtiene o establece el texto de información sobre herramientas asociado a esta celda. (Se hereda de DataGridViewCell). |
|
UseColumnTextForButtonValue | Obtiene o establece un valor que indica si el texto de la columna propietaria aparecerá en el botón mostrado por la celda. |
|
Value | Obtiene o establece el valor asociado a esta celda. (Se hereda de DataGridViewCell). |
|
ValueType | Obtiene o establece el tipo de datos de los valores de la celda. (Invalida a DataGridViewCell.ValueType). |
|
Visible | Obtiene un valor que indica si la celda está en una fila o columna que se ha ocultado. (Se hereda de DataGridViewCell). |
| Nombre | Descripción | |
|---|---|---|
|
AdjustCellBorderStyle | Modifica el estilo de borde de celda de entrada según los criterios especificados. (Se hereda de DataGridViewCell). |
|
BorderWidths | Devuelve un objeto Rectangle que representa el ancho de todos los márgenes de la celda. (Se hereda de DataGridViewCell). |
|
ClickUnsharesRow | Indica si la fila de la celda dejará de estar compartida al hacer clic en la celda. (Se hereda de DataGridViewCell). |
|
Clone | Crea una copia exacta de esta celda. (Invalida a DataGridViewCell.Clone()). |
|
ContentClickUnsharesRow | Indica si la fila de la celda dejará de estar compartida al hacer clic en el contenido de la celda. (Se hereda de DataGridViewCell). |
|
ContentDoubleClickUnsharesRow | Indica si la fila de la celda dejará de estar compartida al hacer doble clic en el contenido de la celda. (Se hereda de DataGridViewCell). |
|
CreateAccessibilityInstance | Crea un nuevo objeto accesible para el control DataGridViewButtonCell. (Invalida a DataGridViewCell.CreateAccessibilityInstance()). |
|
DetachEditingControl | Quita el control de edición de la celda de DataGridView. (Se hereda de DataGridViewCell). |
|
Dispose() | Libera todos los recursos utilizados por el objeto DataGridViewCell. (Se hereda de DataGridViewCell). |
|
Dispose(Boolean) | Libera los recursos no administrados que utiliza DataGridViewCell y, opcionalmente, libera los recursos administrados. (Se hereda de DataGridViewCell). |
|
DoubleClickUnsharesRow | Indica si la fila de la celda dejará de estar compartida al hacer doble clic en la celda. (Se hereda de DataGridViewCell). |
|
EnterUnsharesRow | Indica si la fila primaria va a dejar de estar compartida cuando el foco se desplace a la celda. (Se hereda de DataGridViewCell). |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Libera los recursos no administrados y realiza otras operaciones de limpieza antes de que el recolector de elementos no utilizados reclame DataGridViewCell. (Se hereda de DataGridViewCell). |
|
GetClipboardContent | Recupera el valor con formato de la celda que copiar en el Clipboard. (Se hereda de DataGridViewCell). |
|
GetContentBounds(Int32) | Devuelve el rectángulo delimitador que rodea el área de contenido de la celda utilizando un objeto Graphics predeterminado y el estilo de celda actualmente en vigor para la celda. (Se hereda de DataGridViewCell). |
|
GetContentBounds(Graphics, DataGridViewCellStyle, Int32) | Devuelve el rectángulo delimitador que rodea el área de contenido de la celda, que se calcula utilizando el objeto Graphics especificado y el estilo de celda. (Invalida a DataGridViewCell.GetContentBounds(Graphics, DataGridViewCellStyle, Int32)). |
|
GetEditedFormattedValue | Devuelve el valor actual con formato de la celda, con independencia de si la celda está en modo de edición y no se ha confirmado el valor. (Se hereda de DataGridViewCell). |
|
GetErrorIconBounds | Devuelve el rectángulo delimitador que rodea el icono de error de la celda, si se muestra alguno. (Invalida a DataGridViewCell.GetErrorIconBounds(Graphics, DataGridViewCellStyle, Int32)). |
|
GetErrorText | Devuelve una cadena que representa el error para la celda. (Se hereda de DataGridViewCell). |
|
GetFormattedValue | Obtiene el valor de la celda con el formato para mostrar. (Se hereda de DataGridViewCell). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetInheritedContextMenuStrip | Obtiene el menú contextual heredado para la celda actual. (Se hereda de DataGridViewCell). |
|
GetInheritedState | Devuelve un valor que indica el estado actual de la celda tal como lo hereda del estado de su fila y columna. (Se hereda de DataGridViewCell). |
|
GetInheritedStyle | Obtiene el estilo aplicado a la celda. (Se hereda de DataGridViewCell). |
|
GetPreferredSize | Calcula el tamaño preferido, en píxeles, de la celda. (Invalida a DataGridViewCell.GetPreferredSize(Graphics, DataGridViewCellStyle, Int32, Size)). |
|
GetSize | Obtiene el tamaño de la celda. (Se hereda de DataGridViewCell). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
GetValue | Recupera el texto asociado al botón. (Invalida a DataGridViewCell.GetValue(Int32)). |
|
InitializeEditingControl | Inicializa el control utilizado para editar la celda. (Se hereda de DataGridViewCell). |
|
KeyDownUnsharesRow | Indica si la fila no se comparte si se presiona una tecla mientras el foco está en una celda de la fila. (Invalida a DataGridViewCell.KeyDownUnsharesRow(KeyEventArgs, Int32)). |
|
KeyEntersEditMode | Determina si el modo de edición se debe iniciar basándose en la clave dada. (Se hereda de DataGridViewCell). |
|
KeyPressUnsharesRow | Indica si una fila va a dejar de estar compartida cuando se presiona una tecla mientras el foco está en una celda de la fila. (Se hereda de DataGridViewCell). |
|
KeyUpUnsharesRow | Indica si la fila no se comparte si se suelta una tecla mientras el foco está en una celda de la fila. (Invalida a DataGridViewCell.KeyUpUnsharesRow(KeyEventArgs, Int32)). |
|
LeaveUnsharesRow | Indica si una fila va a dejar de estar compartida cuando el foco abandone una celda de la fila. (Se hereda de DataGridViewCell). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
MouseClickUnsharesRow | Indica si una fila va a dejar de estar compartida cuando el usuario haga clic en un botón del mouse mientras el puntero está en una celda de la fila. (Se hereda de DataGridViewCell). |
|
MouseDoubleClickUnsharesRow | Indica si una fila va a dejar de estar compartida cuando el usuario haga doble clic en una celda de la fila. (Se hereda de DataGridViewCell). |
|
MouseDownUnsharesRow | Indica si no se comparte una fila cuando se mantiene presionado el botón del mouse mientras el puntero está en una celda de la fila. (Invalida a DataGridViewCell.MouseDownUnsharesRow(DataGridViewCellMouseEventArgs)). |
|
MouseEnterUnsharesRow | Indica si una fila va a dejar de estar compartida cuando el puntero del mouse se sitúe sobre una celda de la fila. (Invalida a DataGridViewCell.MouseEnterUnsharesRow(Int32)). |
|
MouseLeaveUnsharesRow | Indica si una fila va a dejar de estar compartida cuando el puntero del mouse salga de la fila. (Invalida a DataGridViewCell.MouseLeaveUnsharesRow(Int32)). |
|
MouseMoveUnsharesRow | Indica si una fila va a dejar de estar compartida cuando el puntero del mouse se sitúe sobre una celda de la fila. (Se hereda de DataGridViewCell). |
|
MouseUpUnsharesRow | Indica si no se comparte una fila cuando se libera el botón del mouse mientras el puntero está en una celda de la fila. (Invalida a DataGridViewCell.MouseUpUnsharesRow(DataGridViewCellMouseEventArgs)). |
|
OnClick | Se le llama al hacer clic en la celda. (Se hereda de DataGridViewCell). |
|
OnContentClick | Se le llama al hacer clic en el contenido de la celda. (Se hereda de DataGridViewCell). |
|
OnContentDoubleClick | Se le llama al hacer doble clic en el contenido de la celda. (Se hereda de DataGridViewCell). |
|
OnDataGridViewChanged | Se le llama cuando cambia la propiedad DataGridView de la celda. (Se hereda de DataGridViewCell). |
|
OnDoubleClick | Se le llama al hacer doble clic en la celda. (Se hereda de DataGridViewCell). |
|
OnEnter | Se le llama cuando el foco se desplaza a una celda. (Se hereda de DataGridViewCell). |
|
OnKeyDown | Se le llama cuando se presiona una tecla de carácter mientras el foco está en la celda. (Invalida a DataGridViewCell.OnKeyDown(KeyEventArgs, Int32)). |
|
OnKeyPress | Se le llama cuando se presiona una tecla mientras el foco está en una celda. (Se hereda de DataGridViewCell). |
|
OnKeyUp | Se le llama cuando se suelta una tecla de carácter mientras el foco está en la celda. (Invalida a DataGridViewCell.OnKeyUp(KeyEventArgs, Int32)). |
|
OnLeave | Se le llama cuando el foco se desplaza de la celda. (Invalida a DataGridViewCell.OnLeave(Int32, Boolean)). |
|
OnMouseClick | Se le llama cuando el usuario hace clic en un botón del mouse mientras el puntero está en una celda. (Se hereda de DataGridViewCell). |
|
OnMouseDoubleClick | Se le llama cuando el usuario hace clic en un botón del mouse mientras el puntero está en una celda. (Se hereda de DataGridViewCell). |
|
OnMouseDown | Se le llama cuando se mantiene presionado el botón del mouse mientras el puntero está en la celda. (Invalida a DataGridViewCell.OnMouseDown(DataGridViewCellMouseEventArgs)). |
|
OnMouseEnter | Se le llama cuando el puntero del mouse se mueve sobre una celda. (Se hereda de DataGridViewCell). |
|
OnMouseLeave | Se le llama cuando el puntero del mouse sale de la celda. (Invalida a DataGridViewCell.OnMouseLeave(Int32)). |
|
OnMouseMove | Se le llama cuando el puntero del mouse se mueve mientras está sobre la celda. (Invalida a DataGridViewCell.OnMouseMove(DataGridViewCellMouseEventArgs)). |
|
OnMouseUp | Se le llama cuando se suelta el botón del mouse mientras el puntero está en la celda. (Invalida a DataGridViewCell.OnMouseUp(DataGridViewCellMouseEventArgs)). |
|
Paint | Dibuja la celda DataGridViewButtonCell actual. (Invalida a DataGridViewCell.Paint(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle, DataGridViewPaintParts)). |
|
PaintBorder | Dibuja el borde del control DataGridViewCell actual. (Se hereda de DataGridViewCell). |
|
PaintErrorIcon | Dibuja el icono de error del control DataGridViewCell actual. (Se hereda de DataGridViewCell). |
|
ParseFormattedValue | Convierte un valor con formato de presentación en un valor de celda real. (Se hereda de DataGridViewCell). |
|
PositionEditingControl | Establece la ubicación y tamaño del control de edición que hospeda una celda del control DataGridView. (Se hereda de DataGridViewCell). |
|
PositionEditingPanel | Establece la ubicación y tamaño del panel de edición que hospeda la celda y devuelve los límites normales del control de edición dentro del panel de edición. (Se hereda de DataGridViewCell). |
|
RaiseCellClick | Provoca el evento DataGridView.CellClick. (Se hereda de DataGridViewElement). |
|
RaiseCellContentClick | Genera el evento DataGridView.CellContentClick. (Se hereda de DataGridViewElement). |
|
RaiseCellContentDoubleClick | Genera el evento DataGridView.CellContentDoubleClick. (Se hereda de DataGridViewElement). |
|
RaiseCellValueChanged | Genera el evento DataGridView.CellValueChanged. (Se hereda de DataGridViewElement). |
|
RaiseDataError | Genera el evento DataGridView.DataError. (Se hereda de DataGridViewElement). |
|
RaiseMouseWheel | Provoca el evento Control.MouseWheel. (Se hereda de DataGridViewElement). |
|
SetValue | Establece el valor de la celda. (Se hereda de DataGridViewCell). |
|
ToString | Devuelve la representación de cadena de la celda. (Invalida a DataGridViewCell.ToString()). |
La clase DataGridViewButtonCell es un tipo especializado de DataGridViewCell que se utiliza para mostrar una interfaz de usuario con apariencia de botón.
El control DataGridViewButtonColumn es el tipo de columna especializó en contener celdas de este tipo. De manera predeterminada, la propiedad DataGridViewButtonColumn.CellTemplate se inicializa con una nueva DataGridViewButtonCell. Para modelar las celdas dentro de una columna como un control DataGridViewButtonCell existente, establezca la propiedad CellTemplate de la columna en la celda para usar como modelo.
Para responder a los clics del mouse realizados por el usuario, controle el evento DataGridView.CellClick o DataGridView.CellContentClick. En el controlador de eventos, puede utilizar la propiedad DataGridViewCellEventArgs.ColumnIndex para determinar si el clic se produjo en la columna de botón. Puede utilizar la propiedad DataGridViewCellEventArgs.RowIndex para determinar si el clic se produjo en una celda del botón determinada.
Las propiedades de la columna relacionadas con celdas actúan como contenedores para las propiedades con nombres similares de la celda de plantilla. Al cambiar los valores de propiedad de la celda de plantilla sólo se verán afectadas las celdas que estén basadas en la plantilla y se hayan agregado después del cambio. Al cambiar los valores de propiedad relacionados con las celdas de la columna, sin embargo, se actualizará la celda de la plantilla y también todas las demás celdas de la columna, actualizando su presentación si es necesario.
Nota
|
|---|
|
Cuando los estilos visuales están habilitados, los botones de una columna de botones se pintan usando ButtonRenderer y los estilos de celda especificados mediante propiedades como DefaultCellStyle no tienen ningún efecto. |
Notas para los herederos
Cuando derive del control DataGridViewButtonCell y agregue nuevas propiedades a la clase derivada, asegúrese de reemplazar el método Clone para copiar las nuevas propiedades durante las operaciones de clonación. También debe llamar al método Clone de la clase base para que las propiedades de la clase base se copien a la nueva celda.
En el ejemplo de código siguiente se muestra cómo utilizar DataGridViewButtonColumn para realizar acciones en filas concretas. Puede utilizar código similar cuando trabaje con objetos DataGridViewButtonCell individuales. En este ejemplo, un controlador de eventos DataGridView.CellClick determina primero si se ha producido un clic en una celda del botón y, a continuación, recupera un objeto de negocios asociado a la fila. Este ejemplo forma parte de un ejemplo más extenso proporcionado en Cómo: Obtener acceso a objetos de una lista desplegable DataGridViewComboBoxCell en Windows Forms.
public class Form1 : Form { private List<Employee> employees = new List<Employee>(); private List<Task> tasks = new List<Task>(); private Button reportButton = new Button(); private DataGridView dataGridView1 = new DataGridView(); [STAThread] public static void Main() { Application.Run(new Form1()); } public Form1() { dataGridView1.Dock = DockStyle.Fill; dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; reportButton.Text = "Generate Report"; reportButton.Dock = DockStyle.Top; reportButton.Click += new EventHandler(reportButton_Click); Controls.Add(dataGridView1); Controls.Add(reportButton); Load += new EventHandler(Form1_Load); Text = "DataGridViewComboBoxColumn Demo"; } // Initializes the data source and populates the DataGridView control. private void Form1_Load(object sender, EventArgs e) { PopulateLists(); dataGridView1.AutoGenerateColumns = false; dataGridView1.DataSource = tasks; AddColumns(); } // Populates the employees and tasks lists. private void PopulateLists() { employees.Add(new Employee("Harry")); employees.Add(new Employee("Sally")); employees.Add(new Employee("Roy")); employees.Add(new Employee("Pris")); tasks.Add(new Task(1, employees[1])); tasks.Add(new Task(2)); tasks.Add(new Task(3, employees[2])); tasks.Add(new Task(4)); } // Configures columns for the DataGridView control. private void AddColumns() { DataGridViewTextBoxColumn idColumn = new DataGridViewTextBoxColumn(); idColumn.Name = "Task"; idColumn.DataPropertyName = "Id"; idColumn.ReadOnly = true; DataGridViewComboBoxColumn assignedToColumn = new DataGridViewComboBoxColumn(); // Populate the combo box drop-down list with Employee objects. foreach (Employee e in employees) assignedToColumn.Items.Add(e); // Add "unassigned" to the drop-down list and display it for // empty AssignedTo values or when the user presses CTRL+0. assignedToColumn.Items.Add("unassigned"); assignedToColumn.DefaultCellStyle.NullValue = "unassigned"; assignedToColumn.Name = "Assigned To"; assignedToColumn.DataPropertyName = "AssignedTo"; assignedToColumn.AutoComplete = true; assignedToColumn.DisplayMember = "Name"; assignedToColumn.ValueMember = "Self"; // Add a button column. DataGridViewButtonColumn buttonColumn = new DataGridViewButtonColumn(); buttonColumn.HeaderText = ""; buttonColumn.Name = "Status Request"; buttonColumn.Text = "Request Status"; buttonColumn.UseColumnTextForButtonValue = true; dataGridView1.Columns.Add(idColumn); dataGridView1.Columns.Add(assignedToColumn); dataGridView1.Columns.Add(buttonColumn); // Add a CellClick handler to handle clicks in the button column. dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick); } // Reports on task assignments. private void reportButton_Click(object sender, EventArgs e) { StringBuilder report = new StringBuilder(); foreach (Task t in tasks) { String assignment = t.AssignedTo == null ? "unassigned" : "assigned to " + t.AssignedTo.Name; report.AppendFormat("Task {0} is {1}.", t.Id, assignment); report.Append(Environment.NewLine); } MessageBox.Show(report.ToString(), "Task Assignments"); } // Calls the Employee.RequestStatus method. void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { // Ignore clicks that are not on button cells. if (e.RowIndex < 0 || e.ColumnIndex != dataGridView1.Columns["Status Request"].Index) return; // Retrieve the task ID. Int32 taskID = (Int32)dataGridView1[0, e.RowIndex].Value; // Retrieve the Employee object from the "Assigned To" cell. Employee assignedTo = dataGridView1.Rows[e.RowIndex] .Cells["Assigned To"].Value as Employee; // Request status through the Employee object if present. if (assignedTo != null) { assignedTo.RequestStatus(taskID); } else { MessageBox.Show(String.Format( "Task {0} is unassigned.", taskID), "Status Request"); } } }
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota