C'è un modo per mostrare un MessageBox in C# senza un focus su un pulsante nella finestra del messaggio? Ad esempio, il seguente frammento di codice (che non funziona come voluto):MessageBox senza focus su un MessageBoxButton
MessageBox.Show("I should not have a button on focus",
"Test",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button3);
quello che voglio è che la MessageBox è mostrato senza un focus su [Sì] o [No]. Lo sfondo è che il cliente esegue la scansione di diversi codici a barre che hanno un ritorno a capo al e. Quindi, quando viene visualizzata la finestra dei messaggi e scansionano ulteriori codici a barre senza notare la finestra del messaggio, "premono" un pulsante.
temo che non è possibile con un MessageBox di vaniglia, in quanto basta consiste in un mazzo di pulsanti e una statica, l'ultima dei quali non può avere il focus. Quindi almeno un pulsante ha sempre la messa a fuoco. Potresti forse aggiungere Annulla al mix, renderlo predefinito e semplicemente mostrare nuovamente la finestra del messaggio se è stato premuto Annulla. – Joey
Penso che il modo più semplice sarà implementare MessageBox dal proprio modulo .... –
Certamente si può fare. Se possiedi il computer, apri il computer. Ma 'MessageBox' non fornisce un modo _conveniente_ perché non ci sia un default. Premendo ** Ritorno ** si rifiuta sempre la finestra di dialogo con un certo valore. Nota, ovviamente, che puoi impostare un terzo pulsante come predefinito (i.e il pulsante 'Annulla' di una casella' YesNoCancel') e richiedono all'utente di premere qualcosa di diverso da 'Annulla' per procedere; hai appena visualizzato nuovamente la scatola fino a quando non lo fanno. –