使用列表框更改字体文本

时间:2018-03-22 13:54:54

标签: c# listbox

我有一个文本框和列表框 列表框显示系统中的所有字体。文本框用于输入字符串。 我不知道当用户点击列表框中的任何项目时,文本框的字体将被更改。 和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());
        }
    }

1 个答案:

答案 0 :(得分: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);
    }