您的位置:首页 > 其它

自定义消息弹出框的一个很不错的实例

2016-03-24 16:43 260 查看
最近看到博客园上 郑文亮对自定义消息弹出框的源代码,发现很不错,定义内容简单但是实用,其中我对一些内容的调用不是很理解,主要是 invoke()的使用,先截图其中一段代码下来,希望以后能弄懂,或者有大拿能给我启发。

附上源文件下载链接

// 跨线程使用之必须
private delegate DialogResult ShowItDelegate(Form owner);
private static DialogResult ShowIt(Form owner, MsgBox mbx)
{
if (owner != null
&& owner.InvokeRequired)
{
ShowItDelegate d = new ShowItDelegate(mbx.ShowDialog);
return (DialogResult)owner.Invoke(d, owner);
}

return mbx.ShowDialog(owner);
}

#region "overloads of Show ..."

/// <summary>
/// 重载0.0: 显示自定义的消息框, 指定owner
/// </summary>
/// <param name="owner">宿主窗体</param>
/// <param name="msg">消息文本</param>
/// <param name="caption">消息标题</param>
/// <param name="btns">要在界面上显示的按钮组合</param>
/// <param name="icon">要在界面上显示的图标</param>
/// <returns></returns>
public static DialogResult Show(
Form owner,
string msg, string caption,
MsgBoxButtons btns, MsgBoxIcons icon)
{
using (MsgBox mbx = new MsgBox())
{
mbx.SetIcon(icon);
mbx.SetCaption(caption);
mbx.SetMsg(msg);
mbx.LayoutBtns(btns);
MsgBox.DoBeep(icon);

return ShowIt(owner, mbx);
}
}


转载至 郑文亮使用winform自己做一个消息框, 以取代系统提供的MessageBox
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: