visual una teclas teclado tecla pulsaciones presionar net evento detectar deteccion combinacion capturar boton asignar c# datagridview

c# - una - evento de pulsación de tecla en la vista de cuadrícula de datos?



evento keydown c# (2)

He probado esto y funciona al usar el evento de tecla abajo y multiplica el valor de someAmount por someAmount , cada vez que ingresa un nuevo número en la celda, realiza el cálculo automáticamente.

public Form1() { InitializeComponent(); MyDataGridViewInitializationMethod(); } private void MyDataGridViewInitializationMethod() { dataGridView1.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView1_EditingControlShowing); } private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress); } private void Control_KeyPress(object sender, KeyPressEventArgs e) { if (char.IsNumber(e.KeyChar)) { string cellValue = Char.ToString(e.KeyChar); //Get the column and row position of the selected cell int column = dataGridView1.CurrentCellAddress.X; int row = dataGridView1.CurrentCellAddress.Y; if (column == 1) { //Gets the value that existings in that cell string test = dataGridView1[column, row].EditedFormattedValue.ToString(); //combines current key press to the contents of the cell test = test + cellValue; int intNumberBoxes = Convert.ToInt32(test); //Some amount to mutiple the numberboxes by int someAmount = 10; dataGridView1[column + 1, row].Value = intNumberBoxes * someAmount; } } } }

Necesito escribir una función simple para que cuando la persona ingrese el número de casillas, el evento de pulsación de tecla se number of boxes*someamount y el number of boxes*someamount llegue a la columna de cantidad. He agregado datagridview usando el control de arrastrar y soltar

Creo que el código se escribirá aquí de acuerdo con mi investigación

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { }

Pero no sé cómo colocar el evento de Keyup y acceder al numberofboxes and Amount casillas de las columnas numberofboxes and Amount . Gracias


para vb.net

Validación decimal

Public Sub New() InitializeComponent() MyDataGridViewInitializationMethod() End Sub Private Sub MyDataGridViewInitializationMethod() AddHandler dataGridView1.EditingControlShowing, AddressOf dataGridView1_EditingControlShowing End Sub Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) AddHandler e.Control.KeyPress, AddressOf Control_KeyPress End Sub Dim dotOnce As Boolean Private Sub Control_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) If e.KeyChar Like "['']" Then e.Handled = True Exit Sub End If If e.KeyChar = "." Then If dotOnce Then e.Handled = True End If dotOnce = True Else If (Not e.KeyChar Like "[0-9 . ]") Then e.Handled = True Exit Sub End If End If End Sub