【问题标题】:How do I change the text color of a rich text box that is is an MDI Parent Form?如何更改作为 MDI 父窗体的富文本框的文本颜色?
【发布时间】:2013-09-23 10:18:02
【问题描述】:

我有 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);
}

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

【问题讨论】:

  • 您是否尝试过在您的子表单上创建一个公共属性并使用它来更改您的富文本框的颜色。
  • 奖金问题?那时谁来主持?

标签: c# richtextbox mdi


【解决方案1】:

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

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

对于您的额外问题,我想知道您是否尝试了子项中的 AutoSize 属性并将其设置为 False。

理查德

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 2021-05-07
    • 2012-09-08
    • 2010-12-29
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    相关资源
    最近更新 更多