I am using the following code in a Button_Click event:
个字符
无论我使用哪个MessageBoxButton枚举,都会出现以下运行时错误。
(InvalidEnumArgumentException: 'The value of argument 'button' (64) is invalid for Enum type 'MessageBoxButton'.)
型
我没有在其他地方使用任何其他的MessageBox。虽然这是第一次wpf项目,这似乎是如此基本,我做错了什么?
我已经检查了以前的StackOverflow Q/A,感觉我几乎嫁给了微软Copilot!
1条答案
按热度按时间smdncfj31#
如果你已经阅读了relevant documentation,就像你在发布问题之前应该阅读的那样,那么你就会知道
MessageBox.Show
没有重载三个参数的那些类型。如果你只是在键入代码时注意智能感知,那么你也会知道。你需要提供两个Strings
-标题和消息-然后是MessageBoxButton
,然后是MessageBoxImage
。在您的代码中,MessageBoxButton
值被转换为String
,MessageBoxImage
值被转换为MessageBoxButton
值。正如错误消息明确指出的那样,该转换无效。这是一个完美的例子,说明了为什么你应该始终使用
Option Strict On
。如果你这样做了,那么这样的隐式转换将不被允许,你的代码将无法编译。在项目属性中打开Option Strict On
,并修复任何后期绑定或隐式转换错误。你还应该在VB选项中打开On
,因此,对于所有未来的项目,默认情况下它将是On
。