首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#中多窗体程序设计有关问题

2011-12-27 
C#中多窗体程序设计问题我写的是多窗口MDI文档支持,能对文件进行文字格式的修改程序,然而用下面的代码却不

C#中多窗体程序设计问题
我写的是多窗口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;
        }

[解决办法]
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;
}
}
[解决办法]
写少了些东东, 这样

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;
}
}
[解决办法]
把错贴出来 ...
[解决办法]
你想干什么?为什么这么复杂?
___________________________________________
http://www.admiralcn.com
[解决办法]
你...这些错误, 太什么了吧

delegate只是一个委托, 上面我给出的例子就是一个用法啊, 那个例子我试过, 没错的说
[解决办法]
你贴出来的那些错误都很容易自己fix的

热点排行