如何用C#实现Word里的字体选择下拉列表框

字体“Berlin Sans FB Demi”不支持样式“Regular”。关键是报这个错啊!
能不能具体点!
别急,正在试
这样是可以,不过,接下来还会报很多类似的错误,总不能,逐个字体都排除吧,有没有更好的方式。
能不能QQ啊?

给Combox添加Item的时候在初始化时执行一次就OK了,
如果放在DropDown事件里就会DropDown一次执行一次,
改成下面方式没有发现你所描述的问题。

public Form1()
{
InitializeComponent();
System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();
foreach (string name in FontSizeName)
{
this.toolStripComboBox2.Items.Add(name);
}
}
public string[] FontSizeName = { "8", "9", "10", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72", "初号", "小初", "一号", "小一", "二号", "小二", "三号", "小三", "四号", "小四", "五号", "小五", "六号", "小六", "七号", "八号" };
public float[] FontSize = { 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72, 42, 36, 26, 24, 22, 18, 16, 15, 14, 12, 10.5F, 9, 7.5F, 6.5F, 5.5F, 5 };
//定义字号数组

private void toolStripComboBox1_DropDown(object sender, EventArgs e)
{

}

private void toolStripComboBox2_DropDown(object sender, EventArgs e)
{
/*System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();
foreach (string name in FontSizeName)
{
this.toolStripComboBox2.Items.Add(name);
}*/
}

private void toolStripComboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
this.richTextBox1.SelectionFont = new Font(this.toolStripComboBox1.Text, FontSize[this.toolStripComboBox2.SelectedIndex], this.richTextBox1.SelectionFont.Style);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
你把那个字体剔除就行,加个if,跳过
=========
这样
第四步,双击窗体,进入窗体的Load事件,在Load事件中编写以下代码:
foreach (System.Drawing.FontFamily i in objFont.Families)
{
if(i.Name.ToString!="Berlin Sans FB Demi")
{
cboFont.Items.Add(i.Name.ToString());
}
}
行不行呀?给个反映
---------------------
if(i.Name.ToString()!="Berlin Sans FB Demi")
-------
应该跟你机子的字体有关,改这个
System.Drawing.Font objFonts=new Font(cboFont.Items[e.Index].ToString(),14,FontStyle.Bold);本回答被提问者和网友采纳
第2个回答  2010-08-18
你把代码发出来看哈。。。
我用C#没遇到这种问题,是不是代码写错了。
相似回答