# Message 全局提示

Message 用于全局展示轻量反馈信息，例如“保存成功”“网络异常”“正在加载”。它是静态类，不需要放到 custom 宿主控件中。

## 快捷调用

AntdUI 提供 `success`、`info`、`warn`、`error`、`loading` 等快捷方法。不同上游版本的重载略有差异，推荐先使用配置对象方式。

在 aardio 窗口中调用静态 Message 时，先构造一个 `AntdUI.BaseForm` 作为所有者窗口：

```aardio
import win.ui;
import dotNet;
import dotNet.AntdUI;
import System.Windows.Forms;

var winform = win.form(text="AntdUI Message";right=560;bottom=300)
winform.add(
customBase={cls="custom";left=0;top=0;right=560;bottom=300;z=1};
btn={cls="button";text="显示消息";left=40;top=40;right=180;bottom=76;z=2}
)

var baseForm = AntdUI.BaseForm(winform.customBase);

winform.btn.oncommand = function(){
    var cfg = AntdUI.Message.Config(baseForm,"操作成功",AntdUI.TType.Success);
    cfg.AutoClose = 3;
    cfg.ClickClose = true;
    cfg.Align = AntdUI.TAlignFrom.Top;
    AntdUI.Message.open(cfg);
}

winform.show();
win.loopMessage();
```

## Config 常用字段

- `Target`：所属目标窗口或控件，必填。
- `Text`：提示文本，必填。
- `Icon`：状态图标，`AntdUI.TType.None/Success/Info/Warn/Error`。
- `IconCustom`：自定义图标。
- `AutoClose`：自动关闭秒数，`0` 表示不自动关闭。
- `ClickClose`：点击关闭。
- `TopMost`：置顶。
- `Align`：弹出方向，常用 `AntdUI.TAlignFrom.Top` / `Bottom`。
- `ShowInWindow`：是否在窗口内弹出。
- `MaxWidth`：最大宽度。
- `Back` / `Fore`：自定义背景和文字颜色。

## 常用方法

- `open(config)`：按配置打开。
- `success(...)` / `info(...)` / `warn(...)` / `error(...)`：快捷状态提示。
- `loading(...)`：打开加载提示。
- `close_all()`：关闭全部提示。
- `close_id(id)`：关闭指定 ID。
- `contains(id)`：判断指定 ID 是否在队列中。

## loading 提示

loading 常用于异步操作。上游返回对象通常支持 `OK(text)`、`Error(text)`、`Warn(text)`、`Info(text)`、`Refresh()` 等业务方法，用于把“加载中”更新为最终结果。

## 注意

- 静态弹层方法重载较多，使用配置对象可减少参数顺序错误。
- 当前 DLL 的 `Message.Config` 支持 `Target` / `System.Windows.Forms.Form` 构造重载；在 aardio 普通 `win.form` 中直接传 `hwnd` 不等价于 AntdUI 期望的 WinForms `Form`。推荐按上例嵌入 `AntdUI.BaseForm`，再把 `baseForm` 作为 owner 传入配置对象。
- 不要在工作线程直接弹窗；先把结果传回界面线程。
