设置SelectionFont c#

时间:2016-06-28 20:31:45

标签: c# fonts richtextbox

我正在尝试在c#中创建一个高级文本编辑器。 我目前有一个填充了字体名称的toolStripComboBox。当用户点击名称时,应该将SelectionFont设置为该字体。但是,它似乎没有任何效果。 (我也有一个字体大小,它完美地工作)

以下是字体应用的代码:

private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    Font nf = new Font(toolStripComboBox1.SelectedIndex.ToString(), getCntDocument.SelectionFont.Size, getCurrentDocument.SelectionFont.Style);
    getCurrentDocument.SelectionFont = nf;
}

字体直接从InstalledFontFamilies系统类添加到框中:

private void getFontCollection()
{
    InstalledFontCollection ifonts = new InstalledFontCollection();
    foreach (FontFamily ff in ifonts.Families)
    {
        toolStripComboBox1.Items.Add(ff.Name);
    }
    toolStripComboBox1.SelectedIndex = 0;
}

此外,getCurrentDocument如下:

private RichTextBox getCurrentDocument
{
    get
    {
        return (RichTextBox)tabControl1.SelectedTab.Controls["Body"];
    }
}
  

其他信息:

private void formMain_Load(object sender, EventArgs e) 
{ 
   string[] args = System.Environment.GetCommandLineArgs(); 
   string filePath = args[1]; 
   filePath.Replace("\\\\", "\\"); 
   addTab(); 
   getFontCollection(); 
   setFontSizes(); 
   getCurrentDocument.Text = (File.ReadAllText(filePath)); 
} 

我得到unsupportedFormatException

有人可以告诉我哪里出错了吗? 感谢

1 个答案:

答案 0 :(得分:-1)

所以我找到了答案,结果证明我没有以正确的方式获取文字...... 我不得不使用ToolStripComboBox.ComboBox,而是首先使用toolStripComboBox1.ComboBox.GetItemText(toolStripComboBox1.ComboBox.SelectedItem)变量将ts组合框转换为常规组合框。这样我可以使用time.sleep(5)

感谢大家的帮助!