2014-10-05 95 views
-1

我没有从Visual Studio中收到任何错误,所以我认为代码是正确的。当我运行代码时,我按下按钮(button1),但没有任何反应。WinForms按钮单击事件不能触发

private void button1_Click(object sender, EventArgs e) 
{  
    int a = 0; 
    int b = 1; 
    int c = 1; 

    listBox1.Text += a.ToString(); 
    listBox1.Text += b.ToString(); 

    for (int i = 0; i < 20; i++) 
    { 
     c = b; 
     b = a + b; 
     a = c; 

     listBox1.Text += b.ToString(); 
    } 
} 
+1

一对于从Control继承的Text属性,ListBox没有有意义的实现。它在**属性窗口中隐藏**的原因。它显示*多个*字符串,而不仅仅是一个。使用其Items.Add()方法或使用Label。 – 2014-10-05 16:36:06

回答

2

ListBox的Text属性不会在这种情况下工作,因为它只是用来设置或在一个列表框获得所选择的项目,添加在每个号码的ItemSource,那么它会工作

private void button1_Click(object sender, EventArgs e) 
     { 
      int a = 0; 
      int b = 1; 
      int c = 1; 
      StringBuilder finalstring = new StringBuilder(); 
      listBox1.Text += a.ToString(); 
      listBox1.Text += b.ToString(); 

      for (int i = 0; i < 20; i++) 
      { 
       c = b; 
       b = a + b; 
       a = c; 
       listBox1.Items.Add(b); 
      } 

     } 
+0

当向列表框项添加“b”时,不需要调用'.ToString()'。 – Shad 2014-10-05 16:28:09

+0

@Shad是的,更正了! – Sajeetharan 2014-10-05 16:30:00

0

buttonbutton1_Click已注册为活动吗?

您可以通过添加button1.Click += button1_Click或在窗体设计器中双击代码来完成。

如果这仍然不起作用,请在代码上输入breakpoint以查看它是否被执行。

+0

我想这不是OP面临的问题! – Sajeetharan 2014-10-05 16:25:24

+0

我将留给未来的搜索者听,+1给你 – Cyral 2014-10-05 16:44:10