>Salve a tutti, prima di scrivere il mio primo post voglio salutare
>a tutti, che è cosa buona e giusta!
>
>Volevo chiedere un aiuto. E' da poco che mi sono cimentato con
>il C# e diciamo che da vecchio programmatore VB6 non mi posso
>lamentare. Solo che ora sto impazzendo con una cosa che per me
>era scontata, ma così non è.
>
>Ho una DataGridView con degli elementi, e vorrei fare che alla
>pressione del tasto funzione "F6" su una riga/cella mi aprisse
>una form.
>
>
>private void dataGridView1_EditingControlShowing(object sender,
>DataGridViewEditingControlShowingEventArgs e)
> {
>TextBox tb = (dataGridView1.EditingControl as TextBox);
> if (tb == null)
> {
>System.Diagnostics.Debugger.Break(); //you changed it to a non
>TextBox control. Add more support
> return;
> }
> editingBox = tb;
> tb.KeyPress += new KeyPressEventHandler(tb_KeyPress);
> tb.TextChanged += new EventHandler(tb_TextChanged);
> }
>
>void tb_KeyPress(object sender, KeyPressEventArgs e)
> {
> if (!char.IsNumber(e.KeyChar) == Tasto F6)
> Visualizza Form;
> }
>
>
>Purtroppo non funziona, qualcuno mi può aiutare!!
>
>PS : L'evento deve scattare quando sono sulla cella e non quando
>modifica. Quindi credo che il problema del mio codice sia quello,
>ma non so come uscirne.
Ciao io utilizzerei semplicemente l'evento keydown gestendolo in questo modo:
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F6)
{
if (dataGridView1.CurrentCell.ColumnIndex == 1)
{
Form2 Finestra = new Form2();
Finestra.Show();
}
}
}
dove al posto di 1 devi mettere la colonna che ti interessa pensado che la prima ha l'indice 0, quindi se è la terza colonna devi mettere 2
Spero di essere stato chiaro 
>
>Grazie
Prego 