我如何获得动态制作的单击按钮的索引
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何获得动态制作的单击按钮的索引相关的知识,希望对你有一定的参考价值。
所以我有问题。在这种情况下,我总共有12个按钮,即0-11。我希望能够单击第5个(在创建它的列表中的位置4),并使其识别出它在创建它的列表中的位置4。
List<Button> test = new List<Button> ; private void Details_Load(object sender, EventArgs e) for (int i = 0; i < 12; i++) //this for loop runs 12 times Button var = new Button(); //makes a button "var" var.Text = ("test2.0"); //makes the text on the button var.Click += new System.EventHandler(this.neat); //when you click on the button it runs the "neat function" test.Add(var); //adds it to the list called "test" testing(); void neat(object sender, EventArgs e) MessageBox.Show("test"); //a message box private void testing() int topValue = 50; //this is just used to give each button a position on the panel on the form int leftvalue = 60; int count = 0; foreach (Button i in test) //this is pretty much just displaying the on the screen i.Left = leftvalue; i.Top = topValue; panel1.Controls.Add(i); //adds the buttons to the pannel count += 1; leftvalue += 200; if (count % 3 == 0) topValue += 200; leftvalue = 60; //every 4th button makes a new row
是的。我只想知道如何知道,当我单击位置4上的按钮时,它就处于位置4中。我想到的唯一方法是以太只会带来误报,或者使所有工作都无法进行。
是的,我最终会将其更改为填充,请勿私自给我
所以我有问题。在这种情况下,我总共有12个按钮,即0-11。我希望能够单击第5个(在创建它的列表中的位置4),并使其意识到它在...
答案
一种简单,干净且可靠的方法是使用内置的System.Linq类。在列表上调用IndexOf()方法,并传递单击的按钮。因此,如果您的列表名为“ test”,则按如下所示获取按钮的索引:
以上是关于我如何获得动态制作的单击按钮的索引的主要内容,如果未能解决你的问题,请参考以下文章