我写的是多窗口MDI文档支持,能对文件进行文字格式的修改程序,然而用下面的代码却不能对文字格式进行修改,请大家帮忙找下问题父窗体的相关代码:
 private void menuItem9_Click(object sender, System.EventArgs e)
{
ChildForm1 Child=new ChildForm1();
Child.MdiParent=this;
Child.Changefont();
}
子窗体的相关代码:
public void Changefont()
{fontDialog1.Font=richTextBox1.SelectionFont;
if(fontDialog1.ShowDialog()==DialogResult.OK)
richTextBox1.SelectionFont=fontDialog1.Font;
    }

解决方案 »

  1.   

    private delegate void changeFontHandler();                  public void Changefont()
    {
                               if(this.InvokeRequired)
                               {
                                changeFontHandler = delegate(){
                               fontDialog1.Font=richTextBox1.SelectionFont;
    if(fontDialog1.ShowDialog()==DialogResult.OK)
    richTextBox1.SelectionFont=fontDialog1.Font;
                                };
                                this.Invoke(changeFontHandler);
                                }
                                else
                                {
                                 fontDialog1.Font=richTextBox1.SelectionFont;
    if(fontDialog1.ShowDialog()==DialogResult.OK)
    richTextBox1.SelectionFont=fontDialog1.Font;
                                 }
              }
      

  2.   

    写少了些东东, 这样private delegate void changeFontHandler();        public void Changefont()
            {
                if (this.InvokeRequired)
                {
                    changeFontHandler aHandler = delegate()
                    {
                        fontDialog1.Font = richTextBox1.SelectionFont;
                        if (fontDialog1.ShowDialog() == DialogResult.OK)
                            richTextBox1.SelectionFont = fontDialog1.Font;
                    };
                    this.Invoke(aHandler);
                }
                else
                {
                    fontDialog1.Font = richTextBox1.SelectionFont;
                    if (fontDialog1.ShowDialog() == DialogResult.OK)
                        richTextBox1.SelectionFont = fontDialog1.Font;
                }
            }
      

  3.   

    你想干什么?为什么这么复杂?
    ___________________________________________
    http://www.admiralcn.com
      

  4.   

    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(87): 无效的表达式项“delegate”
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(87): 应输入 }
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(87): 应输入类型
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(87): 应输入 ;
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(87): 应输入 ;
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(88): 类、结构或接口成员声明中的标记“{”无效
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(89): 类、结构或接口成员声明中的标记“=”无效
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(89): 类、结构或接口成员声明中的标记“;”无效
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(90): 类、结构或接口成员声明中的标记“(”无效
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(90): 类、结构或接口成员声明中的标记“)”无效
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(91): 类、结构或接口成员声明中的标记“=”无效
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(91): 类、结构或接口成员声明中的标记“;”无效
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(93): 命名空间并不直接包含诸如字段或方法之类的成员
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(95): 命名空间并不直接包含诸如字段或方法之类的成员
    D:\net 资料\满 实验5\WindowsApplication1\Form2.cs(101): 应输入类型、命名空间定义或文件尾
      

  5.   

    你...这些错误, 太什么了吧delegate只是一个委托, 上面我给出的例子就是一个用法啊, 那个例子我试过, 没错的说
      

  6.   

    你贴出来的那些错误都很容易自己fix的