【WinForm UI控件系列】动画迷你反馈消息提示框(触发对象处)、类MessageBox(窗体或容器)

迷你消失提示框,是 MessageBoxEx 的简化版,用于在触发控件上方弹出临时消息提示

特性

  • 在触发控件(如按钮)的上边界弹出
  • 向上移动约3个高度距离后逐渐淡出消失
  • 支持四种消息类型:Success、Info、Warning、Error
  • 带圆角边框和柔和阴影的迷你提示框
  • 使用 Layered Window 技术实现透明效果

一、效果图




二、说明

使用方法

csharp 复制代码
// 在按钮上方显示成功提示
MessageTip.ShowSuccess(button1, "保存成功!");

// 显示信息提示
MessageTip.ShowInfo(button2, "操作已完成");

// 显示警告提示
MessageTip.ShowWarning(button3, "注意:数据未保存");

// 显示错误提示
MessageTip.ShowError(button4, "连接服务器失败");

// 通用调用方式
MessageTip.Show(button5, "这是一条提示消息", MessageTipType.Success);

静态方法

方法 说明
Show(Control, string, MessageTipType) 显示指定类型的提示消息
ShowSuccess(Control, string) 显示成功提示
ShowInfo(Control, string) 显示信息提示
ShowWarning(Control, string) 显示警告提示
ShowError(Control, string) 显示错误提示

消息类型

类型 图标 颜色
Success 圆形 + 对勾 绿色
Info 圆形 + "i" 蓝色
Warning 三角形 + 感叹号 橙色
Error 圆形 + 叉号 红色

属性

属性 类型 说明
MessageType MessageTipType 消息类型
TipMessage string 提示消息内容

动画效果

  1. 弹出位置:触发控件的左上角对齐 Tip 的左下角
  2. 移动方向:向上移动约3个 Tip 高度的距离
  3. 淡出效果:移动过程中透明度从1逐渐变为0
  4. 边界检测:到达屏幕顶部边界时立即关闭

使用示例

csharp 复制代码
private void btn_Save_Click(object sender, EventArgs e)
{
    try
    {
        // 执行保存操作
        SaveData();
        
        // 显示成功提示
        MessageTip.ShowSuccess(sender as Control, "保存成功!");
    }
    catch (Exception ex)
    {
        // 显示错误提示
        MessageTip.ShowError(sender as Control, $"保存失败:{ex.Message}");
    }
}

private void btn_Delete_Click(object sender, EventArgs e)
{
    // 显示警告提示
    MessageTip.ShowWarning(sender as Control, "数据已删除");
}

注意事项

  1. 线程安全:必须在 UI 线程调用
  2. 自动关闭:提示框会在动画完成后自动关闭,无需手动关闭
  3. 资源释放:内部会自动处理资源释放
  4. 触发控件:提示框会根据触发控件的位置自动计算弹出位置

三、后记

更多功能和控件完善中,持续关注,如有需求或好的建议,请留言(xue5zhijing)

相关推荐
久爱物联网22 天前
【WinForm UI控件系列】散点图/折线图控件 (支持数值型、时间型、字符串型)
ui·winformui控件·c#控件ui·桌面应用ui控件·gdi绘制控件·散点图曲线图控件·时间型曲线图
久爱物联网23 天前
【WinForm UI控件系列】PieChart饼状图控件
ui·winformui控件·c#控件ui·桌面应用ui控件·gdi绘制控件
久爱物联网23 天前
【WinForm UI控件系列】Battery 电池电量控件
ui·winformui控件·桌面应用控件·c#控件ui·ui控件gdi
久爱物联网23 天前
【WinForm UI控件系列】AlarmLight 报警灯\声光报警灯控件
ui·winformui控件·桌面应用控件·c# ui控件·gdi控件 net控件
SunkingYang5 个月前
MFC中如何使MessageBox弹窗置顶?
c++·mfc·窗口·messagebox·置顶·afxmessagebox
码农研究僧2 年前
详细分析Element中的MessageBox基本知识(附Demo)
vue2·js·element·messagebox
趋时软件2 年前
WPF中封装一个自己的MessageBox
messagebox
xun-ming2 年前
ElementUI之MessgageBox使用
前端·javascript·elementui·弹框·messagebox