1

我创建了一个具有 RichtTextBox 的新 MDIChild:

Form myForm = new Form();
myForm.MdiParent = this;
RichTextBox rtb = new RichTextBox();
myForm.Controls.Add(rtb);
myForm.Show();

由于可能打开了其他一些没有 RTB 的 MDIChild,我想检查 ActiveChild 中是否有 RichtTextBox。我不知道该怎么做......在try-catch(?)中是这样的:

foreach (Control control in this.ActiveMdiChild.Controls)
{
    // check if the control is a checkbox
    // make the richttextbox as an object so I can do strange things with it ^^
}

你能帮帮我吗?

谢谢和干杯亚历克斯

4

1 回答 1

0

您可以RichTextBox使用is运算符检查控件是否为 a:

foreach (Control control in this.ActiveMdiChild.Controls)
{
    if (control is RichTextBox)
    {
        RichTextBox rtfChild = (RichTextBox)control;
        // From here on you can use rtfChild as any other RichTextBox control.
    }
}

当然,您也可以将其用于任何其他类型的控件。

检查子表单是否有RichTextBox

bool found = false;
foreach (Control control in this.ActiveMdiChild.Controls)
{
    if (control is RichTextBox)
    {
        found = true;
        break;
    }
}

if (found)
{
}

如果将它放在返回RichTextBox控件的方法中,则可以让该方法检查子窗体是否具有RichTextBox,如果有,则返回它,否则返回null

于 2013-03-20T14:43:26.383 回答