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

如何在WinForms TextBox中实现点击按钮时随机改变字体大小

实现点击按钮随机改变字符大小的方法

关键修改点:

  • 复用全局的Random实例,避免短时间内重复创建实例导致随机数重复
  • 生成指定范围内的随机字体大小,为TextBox设置新字体(保留原字体的字体系列与样式,仅修改大小)

修改后的完整代码:

public partial class Form1 : Form
{
    Color[] co = new Color[4] { Color.Red, Color.Green, Color.Blue, Color.Orange };
    Random rnd = new Random();
    char[] letters = "АБВГДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ".ToArray();
    string output;

    public Form1()
    {
        InitializeComponent();
    }

    void generate(int NoOfLetter)
    {
        output = null;
        for (int i = 0; i < NoOfLetter; i++)
        {
            output += letters[rnd.Next(0, letters.Length)];
        }
        textBox1.Text = output;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        // 随机设置文字颜色
        int colorIndex = rnd.Next(0, co.Length);
        textBox1.ForeColor = co[colorIndex];

        // 随机设置字体大小(范围12到72,可自行调整数值)
        int randomFontSize = rnd.Next(12, 73);
        textBox1.Font = new Font(textBox1.Font.FontFamily, randomFontSize, textBox1.Font.Style);

        generate(1);
    }
}

代码说明:

  • 移除了冗余的int a变量和重复创建的Random rndcol实例,统一用全局rnd生成所有随机数,避免随机数重复问题
  • rnd.Next(12,73)用于生成12到72之间的整数,因Next方法的上限为开区间,所以写73才能包含72
  • 创建新Font对象时复用原字体的字体系列与样式,仅修改大小,也可根据需求扩展为随机字体系列

内容的提问来源于stack exchange,提问作者Ounw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:15:30