B. *_*non -2 c# fonts richtextbox font-size winforms
这段代码:
private void comboBoxFontSize_SelectedIndexChanged(object sender, EventArgs e) {
rtbResults.Font.Size = Convert.ToInt32(comboBoxFontSize.SelectedItem);
}
Run Code Online (Sandbox Code Playgroud)
...生成此错误消息:"属性或索引器'System.Drawing.Font.Size'无法分配给 - 它是只读的"
在尝试建议的修复后,我在运行时得到它:
System.FormatException未处理Message =输入字符串格式不正确.Source = mscorlib StackTrace:at System.Number.StringToNumber(String str,...
好吧,我明白了:我使用的是Convert.ToInt32(),但是comboBox中的第一个值是"8.25" - 显然,这不是一个int.
所以我尝试了Convert.ToDouble(),这将无法编译.
然后我在intellisense中看到"调用此方法总是抛出'System.InvalidCastException'"*
那么我必须将组合框的值从8.25更改为8吗?8.25是默认值...... ???
我在周末阅读(在Petzold的WP7书中,我认为)8.25对应于11.因此,我认为这里提到的8.25是像素,对应于11的字体大小,现在更有意义了(虽然仍然过于误导/混淆).
因为Font是不可变的......
使用
rtbResults.Font = new Font(rtbResults.Font.FontFamily, Convert.ToInt32(comboBoxFontSize.SelectedItem),
rtbResults.Font.Style)
Run Code Online (Sandbox Code Playgroud)
或者你需要的另一个Font构造函数.
| 归档时间: |
|
| 查看次数: |
1029 次 |
| 最近记录: |