ops, sul form mi ero dimenticato di mettere true il KeyPreview.

adesso con questo codice ottego effettivamente ciò che mi serviva senza intervenire sul focus


public void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{

if (e.KeyCode == Keys.D1)
{
MessageBox.Show("hai premuto 1.");
}
}




public void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{

}

l'unico inconveniente è che se mi posiziono sul textbox e premo 1 me lo scrive 2 volte. :berto: