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