我在运行时已经形成了buttons
。我需要从另一个buttons
访问form
,但我无法在运行时将修改器更改为公开
答案 0 :(得分:1)
您可以在表单中添加公开的按钮列表(我在这里假设winforms):
public List<Button> Buttons { get; private set; }
在表单构造函数中:
public MyForm()
{
InitializeComponent();
Buttons = new List<Button>();
}
在运行时创建按钮的方法中:
var button = new Button();
button.Text = "This is a new Button";
button.Location = ...;
... configure your button here
Buttons.Add(button); // Add button to list.
Controls.Add(button);
另一种形式
foreach (Button btn in formWithButtons.Buttons) {
DoSomethingWith(btn);
}
由于按钮是动态添加的,因此使用像List<T>
这样的动态数据结构非常有意义。