Различать панель в щелчке мыши
Если в форме у меня есть 10 панелей, названных в порядке от 1 до 10, и все они зарегистрированы в одном событии myPanel_Click
private void myPanel_Click(object sender, EventArgs e)
{
}
я могу получить название панели, которую я щелкнул среди этих 10 панелей?
int panelClicked;
private void myPanel_Click(object sender, EventArgs e)
{
//not a single clue
}
3 ответа
Решение
Если я вас правильно понимаю, вы сможете использовать отправителя как панель, а затем использовать свойство name.
private void myPanel_Click(object sender, EventArgs e)
{
Panel target = sender as Panel;
if(target != null)
MessageBox.Show(target.Name);
}
private void myPanel_Click(object sender, EventArgs e)
{
MessageBox.Show((Panel)sender.Name);
}
Вы также можете использовать свойство тега для ссылки на свои панели, назначив номер панели соответствующему тегу.
private void myPanel_Click(object sender, EventArgs e)
{
Panel p = (Panel)sender;
switch ((int)p.Tag )
{
case 1:
// Your Code for Panel 1
break;
case 2:
// Your Code for Panel 2
break;
// Your other Panels here
default:
break;
}
}