C# Neoforce事件处理程序未触发

C# Neoforce事件处理程序未触发,c#,xna,event-handling,xna-4.0,C#,Xna,Event Handling,Xna 4.0,我已经创建了一个XNA项目,正在尝试实现,但是我无法获得按钮。请单击要触发的事件 这是我的密码: 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.

我已经创建了一个XNA项目,正在尝试实现,但是我无法获得
按钮。请单击要触发的事件

这是我的密码:

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");
}

所有内容都显示良好,但事件不会触发。

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

manager.Update(gameTime);

感谢Cyral给了我检查的想法。

我想您必须检查更新功能中是否单击了。您是否尝试过查看其他事件(如鼠标悬停、鼠标悬停等)是否有效?为什么要用
这个按钮而不是
按钮
?那可能是两个不同的物体。另外,当你把鼠标悬停在按钮上时,你看到轻微的辉光了吗?确保您正在从更新方法调用
base.Update(gameTime)
来更新Neoforce。(假设您是从
应用程序继承的
)@Cyral我已经尝试过这些事件,我也尝试过这个.button,比如base.Update。好的,base.Update(gameTime)没有重载,只需要1个参数,所以我们运行base.Update(gameTime,otherScreenHasFocus,false);在我们安装Neoforce之前,它一直在运行。如果需要,我们也在使用XNA4.0helps@Cyral我考虑了你所说的(关于调用更新),发现我必须在更新方法中运行manager.update(gameTime)。