使用 C# 动态更改一个 WinForm 中所有控件的字体大小
Dynamically Change Font Size of All Controls in One WinForm Use C#
我是 C# 的新手,目前,我需要在 Windows 表单中添加动态字体大小更改功能,其中有两个按钮,一个用于增加字体大小,另一个用于减小字体大小。
我能找到的调用所有控件的最接近的解决方案是 post,
How to get ALL child controls of a Windows Forms form of a specific type (Button/Textbox)?,但是这个post是获取特定类型的控件,希望不管是什么类型的控件,都可以调用所有的控件,改变字体大小。
这个想法可行吗?任何想法都会非常有帮助。提前致谢!
后来我想通了,我可以只使用 this.Controls
来引用同一个 winForm
中的所有控件
如果想通过点击按钮改变字体大小,可以参考以下代码:
private void increaseBtn_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
int size = (int)c.Font.Size;
c.Font = new Font("Microsoft Sans Serif", ++size);
}
}
private void disincreaseBtn_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
int size = (int)c.Font.Size;
c.Font = new Font("Microsoft Sans Serif", --size);
}
}
测试结果如下:
我是 C# 的新手,目前,我需要在 Windows 表单中添加动态字体大小更改功能,其中有两个按钮,一个用于增加字体大小,另一个用于减小字体大小。
我能找到的调用所有控件的最接近的解决方案是 post, How to get ALL child controls of a Windows Forms form of a specific type (Button/Textbox)?,但是这个post是获取特定类型的控件,希望不管是什么类型的控件,都可以调用所有的控件,改变字体大小。
这个想法可行吗?任何想法都会非常有帮助。提前致谢!
后来我想通了,我可以只使用 this.Controls
来引用同一个 winForm
如果想通过点击按钮改变字体大小,可以参考以下代码:
private void increaseBtn_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
int size = (int)c.Font.Size;
c.Font = new Font("Microsoft Sans Serif", ++size);
}
}
private void disincreaseBtn_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
int size = (int)c.Font.Size;
c.Font = new Font("Microsoft Sans Serif", --size);
}
}
测试结果如下: