2014-03-26 38 views
0

我创建了一个XNA项目,并试图执行Neoforce Library,但我无法触发Button.Click事件。Neoforce事件处理程序没有触发

这里是我的代码:

button = new Button(manager); 
button.Init(); 
this.button.Click += new TomShane.Neoforce.Controls.EventHandler(this.button_Click); 
button.Text = "Sign In"; 
button.Width = 72; 
button.Height = 24; 
button.Left = (main.ClientWidth/2) - (button.Width/2); 
button.Top = main.ClientHeight - button.Height - 8; 
button.Anchor = Anchors.Bottom; 
button.Parent = main; 
button.Visible = true; 

manager.Add(button); 
main.Add(button, true); 

我的事件的代码是:

void button_Click(object sender, TomShane.Neoforce.Controls.EventArgs e) { 
    System.Console.Out.WriteLine("Button Clicked"); 
} 

一切都显示正常,但是该事件将根本不会触发。

+0

我想你必须检查你的更新功能是否被点击。 –

+0

您是否试图查看是否有任何其他事件,例如MouseOver,MouseOut等?你为什么用'this.button'而不是'button'?这些可能是2个不同的对象。 – Cyral

+0

此外,当您将鼠标悬停在按钮上时,您是否看到轻微的光晕?确保从更新方法调用'base.Update(gameTime)'来更新Neoforce。 (假设你从'Application'继承) – Cyral

回答

1

在Update方法中,您必须运行管理器Update方法。像这样:

manager.Update(gameTime); 

感谢Cyral,给我检查这个想法。

+0

很高兴我能帮忙:) – Cyral

相关问题