1

我正在使用此逻辑在 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]);
}

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

4

3 回答 3

4

在从数据库中填充文本之前,您将无法获取文本(注意不要过早尝试获取文本)。

但这应该有效:

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

更新

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

Button button = sender as Button;
string buttonText = button.Text;
于 2012-04-23T21:04:12.470 回答
0

您只需Text在添加按钮时设置按钮的属性。

于 2012-04-23T21:03:22.330 回答
0

使用类似于...的东西

字符串 BtnTxt = FindControl("ExampleButton1").Text;

应该可以正常工作。

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

于 2012-04-23T21:06:31.643 回答