我创建了一组按钮并将Click事件和GotFocus事件附加到它们。
for (int i = 0; i < NumberOfQuestion; i++)
{
RadButton button = new RadButton();
// radButton1
//
button.Anchor = AnchorStyles.None;
button.Font = new Font("Segoe UI", 8.25F, FontStyle.Bold);
button.Location = new Point(65 * i + 15, 10);
button.Name = "btn_cauhoi" + (i + 1);
button.Size = new Size(60, 35);
button.TabIndex = 1 + i;
button.Text = "Câu " + (i + 1);
button.Tag = (i + 1);
button.Click += Button_Click;
button.GotFocus += Button_Click; ;
//
panel_nut_cauhoi.Controls.Add(button);
}
private void Button_Click(object sender, EventArgs e)
{
var button = (RadButton)sender;
var index = (int)button.Tag;
MessageBox.Show(index.ToString());
}
它会正确触发Click事件,但使用GotFocus事件会重复触发。
请有人帮助我。
感谢您的进步。
答案 0 :(得分:1)
当您在消息框上单击“确定”时,它会失去焦点并再次获得焦点。 因此,如果你删除MessageBox.Show(),你会看到它只会触发一次,所以你可以测试下面的代码,你会看到按钮的名称为btn_cauhoi1或btn_cauhoi2或btn_cauhoi3,你可以点击哪个按钮,它意味着它只会触发一次。
var array = [
'hello@yahoo.com',
'www.hello.com',
'hello@gmail.com'];
var newArray = array.filter(function(item){
return item.indexOf('@') ==-1
})
console.log(newArray)