我想在.NET CF应用程序中更改MessageBox字体,发现它并不容易(甚至不可能)。
一些人建议改变Windows的默认字体,因为MessageBox使用它
方便的方法是:桌面属性/外观/高级...
但是我怎么能用使用.NET类库的代码呢?
有一个属性可以获取messagebox的系统默认字体:
SystemFonts.MessageBoxFont
但是怎么设置呢? 我尝试在Windows XP中调用SystemParametersInfo()win32本机函数,它使用SPI值SPI_SETNONCLIENTMETRICS。
但在Win CE 5.0中它返回错误代码1439 / ERROR_INVALID_SPI_VALUE,这意味着不支持设置某些值,如font do。 我用Google搜索并找到列出了用于Windows CE 3.0的SPI的THIS页面,并且我的SPI设置了当前的默认消息框。 那么如何更改消息框的Windows默认字体呢?
答案 0 :(得分:1)
我怀疑是否有一种支持的方法可以从代码中更改它。这是用户可以控制的系统范围选项。 MS喜欢避免诱使开发人员更改此类设置。
即使有办法从代码更改系统范围的设置,我也建议您不要这样做。而是编写自己的消息框对话框,随意使用您喜欢的任何字体。