C# 获取C中动态创建的按钮的文本?

C# 获取C中动态创建的按钮的文本?,c#,C#,我用这种逻辑在C中动态创建按钮 for (int i = 1; i <= vap; ++i) { newButtons[i] = new Button(); newButtons[i].BackColor = Color.Gray; newButtons[i].Name = "Button4" + i.ToString(); newButtons[i].Click += new EventHandler(NewButtons_Click); new

我用这种逻辑在C中动态创建按钮

for (int i = 1; i <= vap; ++i)
{
    newButtons[i] = new Button();
    newButtons[i].BackColor = Color.Gray;
    newButtons[i].Name = "Button4" + i.ToString();
    newButtons[i].Click += new EventHandler(NewButtons_Click);

    newButtons[i].Location = new System.Drawing.Point(width,height);
    newButtons[i].Size = new System.Drawing.Size(76, 38);

    tabPage5.Controls.Add(newButtons[i]);
}

这是创建一个按钮,单击事件也在工作,但我的问题是我不知道如何获取新创建的按钮的文本。在表单加载时,我从数据库中输入了按钮的文本,这也正确发生了,但是我想知道如何获取动态创建的按钮的文本。

添加按钮时,您只需设置按钮的文本属性。

添加按钮时,您只需设置按钮的文本属性。

在从数据库填充文本之前,您将无法获取文本。小心不要尝试获取文本很早

但这应该是可行的:

string buttonText = FindControl("Button41").Text;
更新

由于您需要单击事件中的按钮文本,因此可以访问发件人对象:

Button button = sender as Button;
string buttonText = button.Text;

在从数据库填充文本之前,您将无法获取文本,请小心不要尝试过早获取文本

但这应该是可行的:

string buttonText = FindControl("Button41").Text;
更新

由于您需要单击事件中的按钮文本,因此可以访问发件人对象:

Button button = sender as Button;
string buttonText = button.Text;

使用类似于

字符串BtnTxt=FindControlExampleButton1.Text

应该行得通


但是,如果您试图以随机顺序提取按钮的文本内容,则以后可能会出现问题。

使用与以下内容类似的内容

字符串BtnTxt=FindControlExampleButton1.Text

应该行得通


但是,如果您试图以随机顺序提取按钮的文本内容,这可能会在以后导致问题。

您是否尝试过newButton[i].text?在代码中,您没有设置text属性。设置后,从NewButtons_Click事件中,您可以检查sender参数,您将发现它是按钮本身,因此您可以返回文本。如果这没有帮助,请解释您最初计划在何处设置文本以及何时/何处/事件处理程序返回文本。何时获取按钮的文本?我正在从数据库中设置文本,并且在表单加载后创建按钮时也会查看文本。我只需要在此处编写的代码private void NewButtons_Clickobject sender,EventArgs e{//在此事件中}您是否尝试过newButton[I].Text?在您的代码中,您没有设置Text属性。设置后,从NewButtons_Click事件中,您可以检查sender参数,您将发现它是按钮本身,因此您可以返回文本。如果这没有帮助,请解释您最初计划在何处设置文本以及何时/何处/事件处理程序返回文本。何时获取按钮的文本?我正在从数据库中设置文本,并且在表单加载后创建按钮时也会查看文本。我只需要我应该在这里写的代码private void NewButtons_Clickobject sender,EventArgs e{//IN THIS EVENT}