【问题标题】:change font text using listbox使用列表框更改字体文本
【发布时间】:2018-03-22 13:54:53
【问题描述】:

我有一个文本框和列表框 列表框显示系统中的所有字体。文本框用于输入字符串。 我不知道当用户单击列表框中的任何项目时,文本框的字体将被更改。 而 mycode 仅用于显示系统中的所有字体。我是新手

    private void Form1_Load(object sender, EventArgs e)
    {
        InstalledFontCollection fonts = new InstalledFontCollection();
        try
        {
            foreach (FontFamily font in fonts.Families)
            {
                FontListBox.Items.Add(font.Name);
            }
        }
        catch (Exception)
        {

            MessageBox.Show(e.ToString());
        }
    }

【问题讨论】:

  • 请澄清您的问题和疑问,以免我们浪费时间去猜测。欢迎来到 Stackoverflow :)
  • 谢谢。我有一个包含列表框和文本框的表单,我想在文本框中输入一个字符串,在列表框中我想显示所有系统字体。当我选择字体表单列表框时。文本框中字符串的字体会改变。

标签: c# listbox


【解决方案1】:

您应该使用 SelectedIndexChanged 事件来捕捉用户何时选择了另一种字体。稍后您可以通过字体名称找到字体并应用于txt.Font。

    InstalledFontCollection fonts;
    private void Form1_Load(object sender, EventArgs e)
    {
        InstalledFontCollection fonts = new InstalledFontCollection();
        try
        {
            foreach (FontFamily font in fonts.Families)
            {
                listBox1.Items.Add(font.Name);
            }
        }
        catch (Exception)
        {

            MessageBox.Show(e.ToString());
        }
    }

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        textBox1.Font = new Font(listBox1.SelectedItem.ToString(), textBox1.Font.Size);
    }

【讨论】:

  • 我的错,对不起。我更新了代码,请重试。
  • @Akiko 确保您已订阅 SelectedIndexChanged 事件。
猜你喜欢
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 2021-05-07
  • 1970-01-01
相关资源
最近更新 更多