小Q的博客

  • 首页
  • net编程
    • 产品和框架
    • 开发实例
    • 经验技巧
    • 开源组件
  • wp独立站
  • 自媒体
  • 日记本
  • 工具箱
每个程序员,都应该有一个自己的博客站
  1. 首页
  2. net编程
  3. 经验技巧
  4. 正文

winform中的提示框+MSN提示封装,原生的也不错

2023年1月4日 1565点热度 0人点赞 0条评论

开发winform项目时,如果某个功能执行完成,需要告诉用户结果,比如成功还是失败?可以用提示框实现,今天就来聊聊这个不太起眼的小功能:提示框

all提示2

其实net提供的提示框已经很丰富了,如果只是提示结果,我们直接用原生的最好。包括:提示、错误、警告和询问。但如果需要展示的内容较多,再用原生的就不太友好了,这里我创建了一个Form页面,用来代替原生的提示框

如果执行的是长任务,就需要进度条提示,也有2种方式。一种是一直提示,另一种是有执行进度条和百分比的。

进度条1

进度条2

再提供一种MSN的提示框,MSN是很久很久的一款社交软件,微软出品的。其实就是在电脑右下角提示信息

MSN提示

还有种是Prompt提示,就是网页里的Prompt方法,winform里也是支持的

Prompt提示

最后再提示一种悬停提示框,用于提示示某个按钮的功能,就是ToolTips说明文字

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)
{

}

 

相关阅读

devexpress控件教程 能加载任何控件的下拉菜单

winform中实现打开摄像头+识别条形码和二维码

标签: MSN提示 ToolTip提示 winform控件 提示框 进度条
最后更新:2023年1月4日

小Q

80后中年不油腻大叔,喜欢编写代码、打羽毛球、做木制玩具。目前定居浙江杭州

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022 小Q的博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙ICP备2022019157号-2