开发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)
{
}
相关阅读







文章评论