void CallbackMethod(IAsyncResult result) { OnMessageContentClickedHander handler = (OnMessageContentClickedHander)((AsyncResult)result).AsyncDelegate; bool cancel = false; handler.EndInvoke(ref cancel, result); }
private void ucTip_ClickedLinkLabel(object sender, MessageCommunication Message, Action action, ref bool cancel) { //标记消息为已读 if (action == Action.SetReaded) { if (messageContentClicked != null) { messageContentClicked(Message.MessageId, action, ref cancel); } if (cancel) { return; } plMessageList.Controls.Remove((Control)sender); if (plMessageList.Controls.Count == 0) { this.Hide(); } return; } //下次处理 if (action == Action.NextTimeDeal) { plMessageList.Controls.Remove((Control)sender); if (plMessageList.Controls.Count == 0) { this.Hide(); } return; } //处理消息 if (action == Action.ViewDetail) { plMessageList.Controls.Remove((Control)sender); if (plMessageList.Controls.Count == 0) { this.Hide(); } OnMessageContentClickedHander handler = new OnMessageContentClickedHander(LinkLabelClicked); IAsyncResult result = handler.BeginInvoke(Message.MessageId, action, ref cancel, new AsyncCallback(CallbackMethod), ""); } }