【发布时间】:2012-12-08 21:46:02
【问题描述】:
我的 winform Form 有一个 TextBox 控件,我已经为它实现了 Ctrl + MouseWheel 缩放,它就像一个魅力。
不过,我注意到,从某个字体大小开始,字体缩放会占用越来越多的时间来完成/渲染。
谁能告诉我为什么会发生这种情况以及是否有任何方法可以避免这种情况(除了限制最大缩放系数)?
我怀疑它是否相关,但我会在我造成这种情况的情况下包含我的代码。
void xmlForm_MouseWheel(object sender, MouseEventArgs e)
{
if (Control.ModifierKeys == Keys.Control)
{
if (((Form)sender).Controls[0].Font.Size + (e.Delta / 120) > 1 && ((Form)sender).Controls[0].Font.Size + (e.Delta / 120) < Single.MaxValue)
{
Font newFont = new Font(((Form)sender).Controls[0].Font.FontFamily, ((Form)sender).Controls[0].Font.Size + (e.Delta / 120));
((Form)sender).Controls[0].Font = newFont;
}
}
}
提前致谢。
【问题讨论】:
-
非常模糊。试一试:我猜你已经将 WordWrap 属性设置为 True。这是一项昂贵的操作,而且需要包装的时间越长。
-
您先生,您猜对了。你有我的谢意。对于这个含糊的问题,我深表歉意。
标签: c# winforms performance font-size