如何更改MDI父窗体的富文本框的文本颜色?

时间:2013-09-22 22:20:32

标签: c# richtextbox mdi

我有Form1,这是一个MDI表单。在Form2(ChildForm)中,我有一个富文本框。

我有一个包含"格式"的菜单条。选项。在这下我有字体,大小和颜色。通过Font方法更改字体和大小很简单,但颜色似乎是另一回事。

我也无法直接调用富文本框,因为它是子窗体,并且在换色时不会创建新的子窗体。

//when Black is clicked in Color/Format
private void blackToolStripMenuItem_Click(object sender, EventArgs e)
{
    //change color to black

}

//when Red is clicked in Color/Format
private void redToolStripMenuItem_Click(object sender, EventArgs e)
{
    //change color to red

}


奖金问题:

当您将大小更改为大型时,我也遇到了重新调整大小的问题。整个子表单变大,而不是文本的大小。如果您返回较小的文本大小,子表单将保持相同的大小,并且richTextBox会变小。这是文本大小更改的代码。这里有什么想法吗?

//when 8 is clicked in Size/Format
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
    //change size to 8
    ActiveMdiChild.Font = new Font(ActiveMdiChild.Font.Name, 8);
}

我是否需要更改某个属性以防止重新调整大小?

1 个答案:

答案 0 :(得分:0)

如果您想使用子表单中的控件,可以使用Controls集合并使用控件名称引用richTextBox。例如,如果我有richTextBox名为richTextBox1,我可以使用以下代码从MDI父级引用:

ActiveMdiChild.Controls["richTextBox1"].ForeColor = Color.Blue; 

对于你的奖金问题,我想知道你是否在孩子中尝试了AutoSize属性并将其设置为False。

理查德