EventHandler无法正常工作?

时间:2011-07-01 00:29:22

标签: c# event-handling

我有按钮的这种方法

private void buttons_Click(object sender, EventArgs e)
        {
            for (int c = 0; c < buttons.Length; c++)
            {
                if (buttons[c] == sender)
                {
                    for (int d = 0; d < ci.Length; d++)
                    {
                        if (buttons[c].Text == ci[d].getName().Substring(0, 1))
                        {
                            listBox1.Items.Clear();
                            listBox1.Items.Add(ci[d].getName());
                        }
                    }
                }
            }

此代码应显示与每个按钮的每个名称的第一个字母匹配的名称。 我已经将方法定义为每个按钮的新事件。 ci是具有31个对象的构造函数 按钮是一个包含26个按钮的数组,并且都具有已定义的属性

1 个答案:

答案 0 :(得分:1)

每次你去添加一个新项目时,你都在清除listBox1 c.O Idk如果你有意这样做的话。

此外,请获取发送按钮的 ID ,如

Button myBtn = sender as Button;
string myID = myBtn.ID;

然后尝试将此if语句if (buttons[c] == sender)更改为以下内容:

if(buttons[c].ID == myID)
{...}