C# 如何在一个表单中使用另一个表单更改WPF RichTextBox中的字体?

C# 如何在一个表单中使用另一个表单更改WPF RichTextBox中的字体?,c#,winforms,fonts,combobox,richtextbox,C#,Winforms,Fonts,Combobox,Richtextbox,我正在尝试从另一个窗体控制RichTextBox字体。 以下是我在第二种形式中尝试的内容: private void Button1_Click(object sender, EventArgs e) { if (comboBox1.SelectedItem.ToString() == "Agency FB") ; { Form1.richTextBox1.Font.Replace = new Font(

我正在尝试从另一个窗体控制RichTextBox字体。 以下是我在第二种形式中尝试的内容:

    private void Button1_Click(object sender, EventArgs e)
    {
        if (comboBox1.SelectedItem.ToString() == "Agency FB") ;
        {
            Form1.richTextBox1.Font.Replace = new Font("Microsoft Sans Serif");
        }
    }
我原以为它会这样工作,但它告诉我两件事:

“Form1.richTextBox1”由于其保护级别而不可访问

“Font”不包含接受1个参数的构造函数


问题是不允许您从另一个表单访问richTextBox1,如果您想访问它,您可能需要向Form1添加一个带有字体参数的公共函数,并调用该函数。另外,我很确定你需要一个对象引用,而不是静态地调用它。因此,您需要找到一种方法来获取Form1的实例

此外,Font不包含带1个参数的构造函数。要解决此问题,只需指定字体大小(作为float),使构造函数如下所示:
新字体(“Microsoft Sans Serif”,11f)

问题是不允许您从另一个表单访问richTextBox1,如果您想访问它,您可能需要在Form1中添加一个带有字体参数的公共函数,并调用该函数。另外,我很确定你需要一个对象引用,而不是静态地调用它。因此,您需要找到一种方法来获取Form1的实例

此外,Font不包含带1个参数的构造函数。要解决此问题,只需指定字体大小(作为float),使构造函数如下所示:
新字体(“Microsoft无衬线字体”,11f)