Domanda

Quando si utilizza MessageBox.Show() si dispone di una selezione di MessageBoxButtons tra cui scegliere. I pulsanti disponibili sono un enum, e gli danno le opzioni come "SI NO", "OK Annulla", ecc.

Quando sto usando, per esempio, il testo del messaggio norvegese l'utente ottiene ancora l'inglese "SI NO".

C'è un modo per cambiare il testo dei pulsanti (in C #) in modo che la lingua è corretta? Posso ignorare il testo, o impostare la locale corrente in qualche modo, in modo che io possa avere "Ja Nei" invece di "SI NO"?

Non voglio fare affidamento su l'installazione di un language pack di .NET al mio cliente.

È stato utile?

Soluzione

Non v'è alcun supporto nativo per questo nella NET (per quanto ne so, in ogni caso, per favore correggetemi se sbaglio, nessuno). Io non sono venuto in questo articolo CodeProject, che sembrano fare il trucco con qualche messaggio di aggancio e P / Invoke: http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx

Altri suggerimenti

Di solito i pulsanti MessageBox (come tutti) di Windows onorare la lingua dell'interfaccia utente attualmente impostata per Windows. Quindi, se hai un installazione in inglese e non è possibile cambiare la lingua (versioni MUI o Ultimate di Vista / 7) sei fuori di fortuna.

Si potrebbe implementare un messagebox te ma io prego voi di non. Cose semplici come tasti di scelta rapida comuni per i pulsanti, che hanno la possibilità di utilizzare Ctrl + Ins per copiare i contenuti, ecc, sono quelli che mi manca di più quando la gente inizia reinventare ruote quadrate.

Non credo sia possibile, ma rimando all'articolo di MSDN Metodo MessageBox.Show . È possibile ottenere alcune idee. È possibile modificare il testo nella finestra di messaggio. Cosa sulla creazione di casella di messaggio (nuova forma) e la loro visualizzazione?

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