Try this, it works fine in my application:
public void New_State_Event(object sender, Asterisk.NET.Manager.Event.NewStateEvent e)
{
UpdateLabel( e.Channel + " Calling" );
}
private void UpdateLabel(string textForLabel)
{
if (this.Label1.InvokeRequired)
{
this.Invoke (new Action<string>(UpdateLabel), new object[] {textForLabel});
return;
}
else
Label1.Text= textForLabel;
}
</string>