我如何获得动态制作的单击按钮的索引

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”,则按如下所示获取按钮的索引:

以上是关于我如何获得动态制作的单击按钮的索引的主要内容,如果未能解决你的问题,请参考以下文章

根据获得的当前单元格的索引路径,自定义单元格中的按钮单击功能

如何知道单击按钮的列表项的索引

如何通过单击按钮从反应状态挂钩数组中删除对象

在颤动中单击按钮时添加小部件时处理动态复选框列表

如何在动态按钮上创建动态按钮单击事件?

在Csharp中,我如何计算每次单击特定按钮时都会增加的某个值