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

时间:2015-04-20 19:18:43

标签: c# winforms richtextbox

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

e.g:

    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?
    }

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

您只需使用事件参数:sender

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

答案 2 :(得分:0)

第一个rtb不是您调用文本框的名称。由于文本框发送了邮件,您可以将发件人强制转换为文本框并查看其文本属性。