I am struggling with events. I have a user control that I want to return the ID field from when the user double clicks. Here is my code from the user control:

```
// inside the user control class:
public event EventHandler<SelectedItemEventArgs> ItemHasBeenSelected;

public class SelectedItemEventArgs : EventArgs
{
    public int SelectedChoice { get; set; }
}

private void DataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    var handler = ItemHasBeenSelected;
    if (e.RowIndex >= 0 && e.RowIndex < DataGridView.RowCount)
    {
        // 6 == id column
        int choice = (int)DataGridView[6, First ? 0 : e.RowIndex].Value;
        if (handler != null)
            handler(this, new SelectedItemEventArgs { SelectedChoice = hoice });
    }
}

```

Inside the calling program:

```
public Main
{ 
    InitializeComponent();
    uc.ItemHasBeenSelected += uc_ItemHasBeenSelected;
}

private void uc_ItemHasBeenSelected(object sender, FindControl.SelectedItemEventArgs e)
{
    var value = e.SelectedChoice;
    currentVal = value;
}

```

I keep getting that my event handler (var handler) = null. I know I must be missing something but it's been so many hours and I just can't find it. Please help if you can.