将单击的标签传递给其单击的方法。C#
因此,我有一个二维标签阵列:将单击的标签传递给其单击的方法。C#,c#,arrays,events,event-handling,C#,Arrays,Events,Event Handling,因此,我有一个二维标签阵列: Label[][] _mainAreaLabels = new Label [MAX_COLUMNS_OF_CARDS][]; 我可以添加并指定一个方法,以便在单击它们时调用: for (int i = 0; i <= _mainAreaLabels.Length - 1 ; i++) //for each column { for (int j = 0; j <= _mainAreaLabels[i].Length - 1; j++ )
Label[][] _mainAreaLabels = new Label [MAX_COLUMNS_OF_CARDS][];
我可以添加并指定一个方法,以便在单击它们时调用:
for (int i = 0; i <= _mainAreaLabels.Length - 1 ; i++) //for each column
{
for (int j = 0; j <= _mainAreaLabels[i].Length - 1; j++ )
{
_mainAreaLabels[i][j].Click += ActiveLabelsClicked;
}
}
for(int i=0;i确保事件处理程序如下所示:
void ActiveLabelsClicked(object sender, EventArgs e){
// do stuff with the 'sender' object
}
sender
对象将包含您单击的对象。确保事件处理程序如下所示:
void ActiveLabelsClicked(object sender, EventArgs e){
// do stuff with the 'sender' object
}
sender
对象将包含您单击的对象。您还可以使用Tag属性:
for (int i = 0; i <= _mainAreaLabels.Length - 1; i++) {
for (int j = 0; j <= _mainAreaLabels[i].Length - 1; j++) {
_mainAreaLabels[i][j].Tag = new int[] { i, j };
_mainAreaLabels[i][j].Click += ActiveLabelsClicked;
}
}
void ActiveLabelsClicked(object sender, EventArgs e) {
var label = (Label)sender;
var tag = (int[])label.Tag;
int column = tag[0];
int row = tag[1];
}
对于(int i=0;i您还可以使用标记属性:
for (int i = 0; i <= _mainAreaLabels.Length - 1; i++) {
for (int j = 0; j <= _mainAreaLabels[i].Length - 1; j++) {
_mainAreaLabels[i][j].Tag = new int[] { i, j };
_mainAreaLabels[i][j].Click += ActiveLabelsClicked;
}
}
void ActiveLabelsClicked(object sender, EventArgs e) {
var label = (Label)sender;
var tag = (int[])label.Tag;
int column = tag[0];
int row = tag[1];
}
for(int i=0;i)事件处理程序通常有一个sender
参数,您可以使用它。我们是在谈论WinForms、WPF还是ASP.NET?WinForms(额外字符)事件处理程序通常有一个sender
参数,您可以使用它。我们是在谈论WinForms、WPF还是ASP.NET?WinForms(额外字符)+1,但事件处理程序不能真正像其他任何东西;-)我可以将发送者的类型更改为标签吗?@Jon只是确保;)@user1091236您最好创建一个局部变量,并将发送者强制转换为var Label=(Label)sender;
+1中的标签,但事件处理程序不能真正像其他任何东西;-)我可以将发送者的类型更改为标签吗?@Jon正在确认;)@user1091236您最好创建一个局部变量,并将发送者强制转换为var label=(label)sender中的标签代码>