开发winform项目时,如果某个功能执行完成,需要告诉用户结果,比如成功还是失败?可以用提示框实现,今天就来聊聊这个不太起眼的小功能:提示框
其实net提供的提示框已经很丰富了,如果只是提示结果,我们直接用原生的最好。包括:提示、错误、警告和询问。但如果需要展示的内容较多,再用原生的就不太友好了,这里我创建了一个Form页面,用来代替原生的提示框
如果执行的是长任务,就需要进度条提示,也有2种方式。一种是一直提示,另一种是有执行进度条和百分比的。
再提供一种MSN的提示框,MSN是很久很久的一款社交软件,微软出品的。其实就是在电脑右下角提示信息
还有种是Prompt提示,就是网页里的Prompt方法,winform里也是支持的
最后再提示一种悬停提示框,用于提示示某个按钮的功能,就是ToolTips说明文字
部分源码
private void FormMessageAndMSNDemo_Load(object sender, EventArgs e) { this.btnToolTip.ToolTipController = this.toolTipController1; this.toolTipController1.GetActiveObjectInfo += toolTipController1_GetActiveObjectInfo; } private void toolTipController1_GetActiveObjectInfo(object sender, DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs e) { e.Info = new DevExpress.Utils.ToolTipControlInfo(sender, "这里是按钮的ToolTips信息"); } private void btnInfo_Click(object sender, EventArgs e) { FormUIHelper.ShowMessage("提示信息", MessageType.Info); } private void btnWarn_Click(object sender, EventArgs e) { FormUIHelper.ShowMessage("警告信息", MessageType.Warning); } private void btnError_Click(object sender, EventArgs e) { FormUIHelper.ShowMessage("错误信息", MessageType.Error); } private void btnQues_Click(object sender, EventArgs e) { FormUIHelper.ShowMessage("询问信息", MessageType.Question); } private void btnInfo2_Click(object sender, EventArgs e) { List<string> listP = new List<string>(); for(int i = 1; i <= 20; i++) { listP.Add("提示" + i.ToString()); } string ps = string.Join(Environment.NewLine, listP); FormUIHelper.ShowMessage(ps, MessageType.Info, "提示信息如下"); } private void btnPro1_Click(object sender, EventArgs e) { FormUIHelper.ShowWaitForm("提示", "正在执行,请稍候。。。"); System.Threading.Thread.Sleep(3000); FormUIHelper.CloseWaitForm(); } private void btnPro2_Click(object sender, EventArgs e) { FormUIHelper.ShowWaitForm2("准备同步订单。。。", 100); for(int i = 0; i < 100; i++) { FormUIHelper.SetMessageWaitForm2(string.Format("正在同步第{0}/{1}个订单", i + 1, 100)); System.Threading.Thread.Sleep(200); } FormUIHelper.CloseWaitForm2(); } private void btnMSN_Click(object sender, EventArgs e) { //最后一个参数表示悬停几秒 FormUIHelper.ShowMSNPoup(this, "MSN提示标题", "MSN提示内容", 4); } private void btnPrompt_Click(object sender, EventArgs e) { FormUIHelper.Prompt("提示", "注意事项"); } private void btnToolTip_Click(object sender, EventArgs e) { }
相关阅读
文章评论