在 onChange 事件中从动态创建的 RichTextBox 中获取文本

Get text from dynamicly created RichTextBox in onChange event

如何从动态创建的 RichTextBox 和动态创建的 rtb_TextChanged 事件中获取文本?

例如:

    private void button1_Click(object sender, EventArgs e)
    {
        RichTextBox rtb = new RichTextBox();
        rtb.Name = "rtb" + i;
        rtb.Dock = DockStyle.Fill;

        rtb.TextChanged += rtb_TextChanged;

        Controls.Add(rtb);

    }

    void rtb_TextChanged(object sender, EventArgs e)
    {
        //string s = rtb.Text;    //How can I get the rtb.Text?
    }

您需要使用事件处理程序的 sender 参数:

void rtb_TextChanged(object sender, EventArgs e)
{
    RichTextBox rtb = (RichTextBox)sender;
    string s = rtb.Text;
    //... etc
}

首先 rtb 不是您调用文本框的名称。由于文本框发送了消息,您可以将发件人投射到文本框并查看其文本 属性.

你只需要使用事件参数:sender

private void richTextBox1_TextChanged(object sender, EventArgs e)
{  
       RichTextBox rtb = (RichTextBox)sender;
       var str = rtb .Text;
}