我正在开发一款使用多种布局的游戏。为了制作这些布局,我使用用户控件将它们向前移动并将它们发送到后面。现在我处于一个阶段,我必须将所有收集的数据(硬度,类型等)发送到用户控件,其中所有其余工作都已完成。我坚持将int值发送到我的用户控件来完成所有工作。我想过用eventhandler发送它们,但是EventHandler似乎也没有认识到我的int值
简而言之,我想将表单中的Int值传递给用户控件
public void liitmine1(object sender, EventArgs e)
{
/*event*/
uCraskus1.BringToFront();
int What = 1;
}
public void kumme(object sender, EventArgs e)
{
uCmehanism1.BringToFront();
int Between = 1;
}
public event EventHandler KummeClick; /*Sends info to mechanism*/
private void KummeNupp(object sender, EventArgs e)
{
if(What == 1) /*The name'what' does not exist in current context error*/
if (this.KummeClick != null)
this.KummeClick(this, e);
}
if (this.KummeClick != null)
只是为了测试,不介意是否有任何错误
答案 0 :(得分:0)
您可以创建自己的EventArgs类型,如下所示:
public class KummeClickEventArgs : EventArgs
{
public int MyProperty { get; set; }
}
然后使用它(假设kumme方法是订阅者之一):
public void kumme(object sender, KummeClickEventArgs e)
{
//here is your logic like:
//int test = e.MyProperty;
uCmehanism1.BringToFront();
int Between = 1;
}
public event EventHandler<KummeClickEventArgs> KummeClick; /*Sends info to mechanism*/
private void KummeNupp(object sender, EventArgs e)
{
if(What == 1) /*The name'what' does not exist in current context error*/
if (this.KummeClick != null)
{
var eventArgs = new KummeClickEventArgs
{
MyProperty = 3
};
this.KummeClick(this, eventArgs);
}
}