dev*_*tal 5 .net windows messagebox
我正在尝试对MessageBoxImage枚举编写自己的抽象,并看到MessageBoxImage定义为:
namespace System.Windows
{
public enum MessageBoxImage
{
None = 0,
Error = 16,
Hand = 16,
Stop = 16,
Question = 32,
Exclamation = 48,
Warning = 48,
Asterisk = 64,
Information = 64,
}
}
Run Code Online (Sandbox Code Playgroud)
Show方法如何确定显示错误图像还是手形图像?我该如何编写一个采用MessageBoxImage类型并返回映射到MessageBoxImage类型的CustomMessageBoxImage类型的方法,因为我不能在同一switch语句中同时包含MessageBoxImage.Error和MessageBoxImage.Hand?
从历史上看,不同的图标最终被合并为一个实际的图标图像。因此,在现代Windows操作系统中,有多个枚举类型值(例如,Hand和Stop)仅表示同一意思。它们之间没有区别,它们只是别名。
如果要使用新值表示差异,则可以使用辅助变量(例如“ isError”)来传达您希望在“止损”和“手形”之间应用的差异。也可以将Icon值复制到一个int并设置一个高值中的一位表示此额外信息,因此可以在单个变量中“携带”,也可以使用与MessageBoxIcon“无关”的自己的枚举,并具有将值转换为MessageBoxIcon值的方法。
我建议您拥有自己的“ Status”值,然后根据需要将其转换为Icon值-两者传递的信息完全不同,因此尝试重载(损坏)MessageBox值以传递额外的信息不是一个很好的选择。好方法。
| 归档时间: |
|
| 查看次数: |
1833 次 |
| 最近记录: |