C#创建控件数组

标签 c# winforms user-interface components

是否可以创建一个控件数组?如果数组中的多个控件共享同一个事件处理程序,是否有办法获取控件的索引?

最佳答案

这当然是可以做到的。在这种情况下,共享事件处理程序相当容易,因为引发事件的 Button 是作为事件参数的一部分发送的。它将是 sender 值,可以转换回 Button

这里是一些示例代码

class Form1 : Form {
  private Button[] _buttons;
  public Form1(int count) { 
    _buttons = new Button[count];
    for ( int i = 0; i < count; i++ ) {
      var b = new Button();
      b.Text = "Button" + i.ToString()
      b.Click += new EventHandler(OnButtonClick);
      _buttons[i] = b;
    }
  }
  private void OnButtonClick(object sender, EventArgs e) {
    var whichButton = (Button)sender;
    ...
  }
}

关于C#创建控件数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2168363/

相关文章:

c# - HTML遍历很慢

C# 数据集.关系 : How to use DataSet Relations?

c# - 使用 KeyPressEvent 抑制按键 "Bing"?

javascript - 访问 jquery ui 自动完成中的相关元素?

user-interface - 您如何控制您的应用程序在哪个监视器上打开?

c# - 如何在 C# 中使用通用数据库连接调用存储过程?

c# - 在 MVC Controller 之外使用 Controller.Content c#

c# - 使用 Winform 更新 WPF 文本框用户控件中的文本

c# - 单例形式 : how to handle the case when form is "disposed"

ios - 如何在 iOS 中制作个人热点打开时使用的发光条效果?