You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建不稳定字号?RichTextBox修改字体大小报错求助(无需新Font)

解决RichTextBox字体大小修改的问题

嘿,我太懂你碰到的这个坑了!咱们一步步拆解问题:

为啥会报错?

你看到的错误"non-invocable member 'Font Size' cannot be used like a method",原因有两个:

  1. Font.Size是一个只读属性,不是方法,所以不能像调用函数那样加括号()去传值;
  2. 在.NET里,Font对象是不可变的——一旦创建出来,它的所有属性(包括字号、字体家族、样式)都没法直接修改,必须通过创建新的Font对象来更新。

那怎么实现修改字号?

你说“不创建新Font”,其实严格来说做不到,因为Font的设计就是不可变的,但我们可以复用原有Font的所有其他属性,只替换字号,这样操作起来和“修改原有Font”几乎没区别,代码也很简洁:

首先得把FontSize这个TextBox里的文本转换成数值(因为Font.Size是float类型),然后用原有Font的字体家族、样式等属性创建新的Font:

// 先做安全的类型转换,避免输入非数字导致报错
if (float.TryParse(FontSize.Text, out float newFontSize))
{
    // 复用原Font的FontFamily、Style,只更新Size
    tb3.Font = new Font(tb3.Font.FontFamily, newFontSize, tb3.Font.Style);
}

补充小提示

  • 如果你的FontSize输入的是整数(比如12、16),用int.TryParse转成int再转成float也可以,效果一样;
  • 一定要加TryParse的判断,防止用户输入非数字内容导致程序崩溃。

内容的提问来源于stack exchange,提问作者Akın Işık

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:46:08