.NET如何更改Windows默认字体?

时间:2011-11-05 06:48:01

标签: fonts .net-cf-3.5

我想在.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默认字体呢?

1 个答案:

答案 0 :(得分:1)

我怀疑是否有一种支持的方法可以从代码中更改它。这是用户可以控制的系统范围选项。 MS喜欢避免诱使开发人员更改此类设置。

即使有办法从代码更改系统范围的设置,我也建议您不要这样做。而是编写自己的消息框对话框,随意使用您喜欢的任何字体。