答案 0 :(得分:0)
您可以创建一个包含两个值的新结构/类,也可以使用一个元组。
public class ButtonValues
{
public int i { get; set; }
public int j { get; set; }
}
Button b = new Button();
b.Tag = new ButtonValues { i = i, j = j };
然后检索它:
ButtonValues val = currentbutton.Tag as ButtonValues;
System.Diagnostics.Debug.WriteLine($"{val.i} {val.j}");
您始终可以用结构替换类。
Button b = new Button();
b.Tag = new Tuple<int, int>(i, j);
然后检索它们:
Tuple<int, int> vals = currentbutton.Tag as Tuple<int, int>;
System.Diagnostics.Debug.WriteLine($"{vals.Item1} {vals.Item2}");
答案 1 :(得分:0)
创建您的类 NewButton ,该类派生自 Windows.Forms.Button 类,并使用 public int i,j属性可以通过创建其对象和Button的所有其他属性来访问它。像下面的按钮代码一样使用
继承
class NewButton : System.Windows.Forms.Button
{
public int i{get;set;}
public int j{get;set;}
}
在嵌套循环中创建并设置i和j值,而不是5和9
NewButton buttons = new NewButton();
buttons.Text = "ButtonText";
buttons.Name = "ButtonName";
buttons.i = 5;
buttons.j = 9;
this.Controls.Add(buttons);//adding control to form