2012-05-18 88 views
0

大家。 :)MessageBox.Show不工作按钮点击

现在完全是C#的新手,所以我对这个问题的可能白痴道歉。 :P在过去的几个小时里我已经完成了很多搜索,但不幸的是,找不到任何解决了我的问题的东西。

我一直在运行一些基本的C#指南,我正在通过一个按钮创建一个简单的Windows窗体应用程序,单击它时会显示一个带有短语的MessageBox。奇怪的是,当我调试应用程序并单击按钮时,没有任何反应。在我的搜索中,我看到很多情况下人们没有文本的MessageBox显示;但在这种情况下,绝对没有任何事情发生。它表现得好像没有采取任何行动。

我正在使用VSC#2010 Express。我尝试了这个新鲜的项目,并安装在我的Windows 7机器和我的XP机器上,两者都有相同的结果。

感谢您的帮助!代码粘贴在下面。

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      MessageBox.Show("Here's a message??"); 
     } 
    } 
} 
+0

您是否将button1_click事件处理程序连接到了按钮的Click事件? – Steve

+0

我认为你的事件处理程序没有连接到你的按钮点击事件。查看按钮的设计器并查看它所具有的事件,并通过单击事件来简单地选择它,以便与您的处理程序挂钩。或者您可以双击设计器上的按钮并将您的show messagebox代码粘贴到新的事件处理程序 – BigL

+1

您是如何创建button1_click事件处理程序的?从教程复制?如果是这样,只需双击表单设计器中的button1,并在创建的事件处理程序中添加消息框。 – Reniuz

回答

1

挂钩Button1_Click事件处理程序到您的按钮

public Form1() 
    { 
     InitializeComponent(); 
     button1.Click += new EventHandler(button1_Click); 
     //add above line 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show("Here's a message??"); 
    } 

发生了什么事的Click事件,你只写了你的活动编码,但这里并没有呼叫它。

用此行button1.Click += new EventHandler(button1_Click);点击发生时,它将执行private void button1_Click(object sender, EventArgs e)函数。

+1

'new DontRememberWhatcomeshere(button1_Click)'change to'button1_Click' – Reniuz

+1

DontRememberWhatcomeshere这是迄今为止我读到的最好的:D:D LOL:D – BigL

+0

@BigL:已更改。 –

1

您可能没有将您的实际按钮连接到此事件处理程序。在设计器中选择按钮,然后在属性窗口中单击放大螺栓的小图标。找到Click事件并下拉选择并选择button1_Click

0

最有可能的事件处理程序没有注册点击事件。

试着改变你这样的代码:

public Form1() 
{ 
    InitializeComponent(); 
    button_1.Click += new EventHandler(button_1_Click); 
} 

或者沿着这些路线的东西...

0

似乎事件按钮结合做得不好。请双击设计器中的按钮,它会创建一个这样的事件。现在你把你的消息代码放在那里,并希望它能起作用。

private void button1_Click(object sender, EventArgs e) 
     { 
      MessageBox.Show("Here's a message??"); 
     } 
+0

这也有效,这对我来说真的很有趣!看起来''button_1.Click + = new EventHandler(button_1_Click);'行可以工作,无论它是放置在Form1.cs还是Form1.Designer.cs中。 – Aujury