在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); 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; 

更新

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

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

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

使用类似……的东西

string BtnTxt = FindControl(“ExampleButton1”)。Text;

应该工作正常。

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