小编Rob*_*Rob的帖子

C#事件,那个null的东西是什么?

在提出事件时,我无法真正理解这个null测试的东西是什么.

说我有这个代码.

    class ballClass
{


    public event EventHandler BallInPlay;


    public void onHit()
    {
        if (BallInPlay != null)
        {
            BallInPlay(this, new EventArgs());
        }
        else
        {
            MessageBox.Show("null!");
        }
    }



}
Run Code Online (Sandbox Code Playgroud)

而且我想在触发onHit()方法时引发BallInPlay.

现在它告诉我BallInPlay是null.我应该怎样或者用什么"填充"它才能起作用?

谢谢!

c# events

4
推荐指数
2
解决办法
3873
查看次数

C#事件,如何提高它们?

我正在尝试学习在C#中提升和处理事件.

这是我的简单例子:

///////////////  creating a new BALL object ///    
ballClass ball = new ballClass();

void button1_Click(object sender, EventArgs e)
{
    // this should make the BALL object raise an event
    ball.onHit();
    label1.Text = "EVENT SEND";
}

// when event is fired, label text should change
void BallInPlayEvent(object sender, EventArgs e)
{
    label2.Text = "EVENT FOUND!";
}
Run Code Online (Sandbox Code Playgroud)

和球类:

class ballClass
{
    public event EventHandler BallInPlay;

    public void onHit()
    {
        this.BallInPlay ///// ??? how should i raise this event?
    }
}
Run Code Online (Sandbox Code Playgroud)

在电话中我无法理解, …

c# events

2
推荐指数
1
解决办法
2689
查看次数

将变量传递给.NET中的事件

例如,我有一个图片框列表,一旦光标悬停在它们上面就会引发事件.然而,我不仅需要以某种方式提升此事件,还要传递"i"变量,以便我知道哪个图片框上有光标.

for (int i = 0; i < 25; i++)
{
....
pbList.Add(new PictureBox());

pbList[i].MouseHover += new System.EventHandler(this.beeHideInfo);
                                            //// need to pass "i" here
}
Run Code Online (Sandbox Code Playgroud)

    private void beeShowInfo(object sender, EventArgs e)
    {
        lb_beeInfo.Text = "You are hovering over: "+beeList[i].name;
                                               /// need to get this "i"
    }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# events

1
推荐指数
1
解决办法
3600
查看次数

标签 统计

c# ×3

events ×3