Retrieve text on MessageBoxButton-button [modified]
-
I'm using a MessageBox to give the user a choice. The text is something like "Press 'Yes' if you want to continue or press 'No' if you want to quit". However, I know my users will have Windows OS installed in various languages, other than English. I want to keep the message text in English, but I do want to let the 'Yes' and 'No' parts correspond to the actual texts on the messagebox button. Is there a way to find out the text that is displayed on the Yes-button given the language of Windows? Is there a function that can give me this button text. Thanks. -- modified at 9:25 Thursday 28th September, 2006
You should use DialogResult if( MessaseBox.Show() == DialogResult.Yes )
only two letters away from being an asset
-
I'm using a MessageBox to give the user a choice. The text is something like "Press 'Yes' if you want to continue or press 'No' if you want to quit". However, I know my users will have Windows OS installed in various languages, other than English. I want to keep the message text in English, but I do want to let the 'Yes' and 'No' parts correspond to the actual texts on the messagebox button. Is there a way to find out the text that is displayed on the Yes-button given the language of Windows? Is there a function that can give me this button text. Thanks. -- modified at 9:25 Thursday 28th September, 2006
-
I'm using a MessageBox to give the user a choice. The text is something like "Press 'Yes' if you want to continue or press 'No' if you want to quit". However, I know my users will have Windows OS installed in various languages, other than English. I want to keep the message text in English, but I do want to let the 'Yes' and 'No' parts correspond to the actual texts on the messagebox button. Is there a way to find out the text that is displayed on the Yes-button given the language of Windows? Is there a function that can give me this button text. Thanks. -- modified at 9:25 Thursday 28th September, 2006
Hello You can using API function calls, but why the effort?!! You can inherit your own custom MessageBox from that class, or make your own form to simulate the MessageBox you want to display.
Regards:rose:
-
I'm using a MessageBox to give the user a choice. The text is something like "Press 'Yes' if you want to continue or press 'No' if you want to quit". However, I know my users will have Windows OS installed in various languages, other than English. I want to keep the message text in English, but I do want to let the 'Yes' and 'No' parts correspond to the actual texts on the messagebox button. Is there a way to find out the text that is displayed on the Yes-button given the language of Windows? Is there a function that can give me this button text. Thanks. -- modified at 9:25 Thursday 28th September, 2006
Perhaps that is possible, but why do you want to present a translation table to the user? You should use a custom dialog so that you can put a meaningful text on the buttons, instead of telling the user that "Yes" means "Continue" and "No" means "Quit".
--- b { font-weight: normal; }
-
You should use DialogResult if( MessaseBox.Show() == DialogResult.Yes )
only two letters away from being an asset
-
Hello You can using API function calls, but why the effort?!! You can inherit your own custom MessageBox from that class, or make your own form to simulate the MessageBox you want to display.
Regards:rose:
-
Perhaps that is possible, but why do you want to present a translation table to the user? You should use a custom dialog so that you can put a meaningful text on the buttons, instead of telling the user that "Yes" means "Continue" and "No" means "Quit".
--- b { font-weight: normal; }
Guffa wrote:
but why do you want to present a translation table to the user?
Perhaps my example wasn't really appropriate. Try this message: "The item aleady exists in the list. Do you want to overwrite it? If you press 'No' the item will be lost." Now, if the user has, say, a French version of Windows I would like to replace the string 'No' with 'Non', because that is the text the French OS will display on the MessageBoxButton.No . Or if he has a German version I want to replace it with 'Nein'.
Guffa wrote:
You should use a custom dialog so that you can put a meaningful text on the buttons
Perhaps that is the better solution. Still, if anyone knows a method to query Windows for its standard texts, I am very interested. Thanks for your responses, all of you.
-
Guffa wrote:
but why do you want to present a translation table to the user?
Perhaps my example wasn't really appropriate. Try this message: "The item aleady exists in the list. Do you want to overwrite it? If you press 'No' the item will be lost." Now, if the user has, say, a French version of Windows I would like to replace the string 'No' with 'Non', because that is the text the French OS will display on the MessageBoxButton.No . Or if he has a German version I want to replace it with 'Nein'.
Guffa wrote:
You should use a custom dialog so that you can put a meaningful text on the buttons
Perhaps that is the better solution. Still, if anyone knows a method to query Windows for its standard texts, I am very interested. Thanks for your responses, all of you.
jjansen wrote:
Perhaps my example wasn't really appropriate. Try this message: "The item aleady exists in the list. Do you want to overwrite it? If you press 'No' the item will be lost."
Why not use a sentence that does not reference the text of the button at all? You can also make it clearer which of the items that will actually be lost: "An item with that name already exists in the list. Do you want to replace it? If you choose not to, the new item will be lost."
--- b { font-weight: normal; }
-
jjansen wrote:
Perhaps my example wasn't really appropriate. Try this message: "The item aleady exists in the list. Do you want to overwrite it? If you press 'No' the item will be lost."
Why not use a sentence that does not reference the text of the button at all? You can also make it clearer which of the items that will actually be lost: "An item with that name already exists in the list. Do you want to replace it? If you choose not to, the new item will be lost."
--- b { font-weight: normal; }
-
Nader Elshehabi wrote:
You can inherit your own custom MessageBox from that class, or make your own form to simulate the MessageBox you want to display
Yes, but then I have to make one for every language version of Windows the user might be using.
No! All you have to do is to make a public text property that will take the text depending on the user's language, then you wupply it with the text according to the current culture. You can store your texts in a string table, or even an array for whatever it's worth!! Another approach is to make an API call to
MessageBoxEx()
function. I think it does exactly what you want.Regards:rose:
-
No! All you have to do is to make a public text property that will take the text depending on the user's language, then you wupply it with the text according to the current culture. You can store your texts in a string table, or even an array for whatever it's worth!! Another approach is to make an API call to
MessageBoxEx()
function. I think it does exactly what you want.Regards:rose:
Nader Elshehabi wrote:
You can store your texts in a string table, or even an array for whatever it's worth!!
The point is that I do not know WHICH languages I will encounter. Therefore, I can never make a 'complete' list of button texts (if I had that many dictionaries anyway). In order to make it work for ANY language I will need to ask Windows for the button texts. Anyway, Guffa has pointed me into another direction. Thanks though.