我正在开发一款使用多种布局的游戏。为了制作这些布局,我使用用户控件将它们移到前面然后移到后面。现在我处于一个阶段,我必须将所有收集的数据(硬度、类型等)发送到用户控件,在那里完成所有其余工作。我坚持将 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)
只是为了测试,不要介意是否有任何问题
您可以创建自己的 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);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句