Domanda

Sto usando la classe MessageBox per mostrare errori agli utenti e, sebbene ciò non sia il comportamento giusto, è molto conveniente. Questa è un'applicazione touchscreen, tuttavia, quindi ho bisogno che il pulsante "ok" sia molto più grande di quello che è (maledico le mie dita eccessivamente grandi!).

Penso che se aumento la dimensione del carattere nella finestra di dialogo, dovrei essere a posto. C'è un modo per farlo? O davvero, c'è un modo per aumentare le dimensioni della finestra di dialogo?

Grazie

È stato utile?

Soluzione

Per quanto ne so, non è possibile, poiché le finestre di dialogo "normali" utilizzano le impostazioni predefinite dei caratteri di sistema.

Rotolare il tuo è probabilmente il modo migliore per andare avanti. È abbastanza banale da fare e molto divertente! E puoi incorporare cose che la finestra di dialogo standard non supporta (senza la magia di PInvoke) come la centratura al centro dello schermo ecc.

Altri suggerimenti

Utilizza un modulo con una casella di testo e due pulsanti OK, Annulla su di esso. Utilizzare questo modulo anziché un MessageBox nell'intero progetto. È possibile modificare il carattere, backColor, multilinea ecc. Della casella di testo al volo. Puoi anche modificare la dimensione, il colore e il carattere dei pulsanti.

Vorrei creare la mia classe MessageBox per questo scopo - forse BigMessageBox ?. Si tratterebbe quindi di sostituire MessageBox.Show con BigMessageBox.Show.

Un'altra alternativa è utilizzare gli hook di Windows per modificare il modulo: dai un'occhiata a https://web.archive.org/web/20091208060754/http://msdn.microsoft.com/en-gb/magazine/cc188920.aspx per un esempio da .net 1.0. Questo potrebbe essere più facile nella versione attuale, ma non riesco a trovare un esempio per te.

Esiste una soluzione: tramite l'installazione dell'hook CBT è possibile regolare al volo un'ampia varietà di impostazioni visive di MessageBox: font di messaggi e pulsanti, sfondo della finestra di dialogo, posizionamento della finestra di dialogo, icone, didascalie dei pulsanti, timeout e così via.

Assembly MessageBox .NET esteso http://www.news2news.com/vfp/?solution=5

controlla il mio uso gratuito FlexibleMessageBox che può essere utilizzato al posto di MessageBox e ha una proprietà (statica) FONT.

Saluti, Jörg

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top