【问题标题】:c# how to change font according to user inputc#如何根据用户输入改变字体
【发布时间】:2015-07-17 17:52:54
【问题描述】:

我有一个框,用户可以在其中输入他们想要的字体,下面带有文本的标签会相应地更改其字体大小。我不知道该怎么做,因为我在网上找到的大多数解决方案都没有帮助。我尝试如下所示执行此操作,但我的代码不起作用。感谢您的帮助!

private void textBox1_TextChanged(object sender, EventArgs e)
    {
        string newFont = textBox1.Text;
        label4.Font = new Font(label4.Font, label4.Font.Style ^ newFont);
        label4.Text = "Selected Font: " + newFont + ", Selected Font Size: 20";
    }

【问题讨论】:

  • 我假设您使用的是 Windows 窗体,但您究竟想在这里实现什么? label4.Font.Style ^ newFont 对我没有任何意义。
  • 不清楚您想要什么,因为您只有一个将字体名称作为用户输入的文本框,并且您想更改字体名称的字体大小?如何在不输入字体大小的情况下更改字体大小?

标签: c# input fonts


【解决方案1】:

如果您使用 2 个文本框,一个用于字体名称,一个用于字体大小,则您可以更改标签的字体和大小,如下所示

private void txtFontName_TextChanged(object sender, EventArgs e)
{
    ChangeFontTypeAndSize();

}

private void txtFontSize_TextChanged(object sender, EventArgs e)
{
    ChangeFontTypeAndSize();
}

private void ChangeFontTypeAndSize()
{
    string fontName = txtFontName.Text;
    Font font = new Font(fontName, float.Parse((txtFontSize.Text == "" ? "11" : txtFontSize.Text)));
    label1.Font = font;
}

【讨论】:

  • 由于代码相同,这两个事件可以合并或更好地调用具有好名字的通用函数..
猜你喜欢
  • 1970-01-01
  • 2015-04-25
  • 1970-01-01
  • 1970-01-01
  • 2022-06-29
  • 2017-01-05
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
相关资源
最近更新 更多