aardio 文档

MsgList 好友消息列表

AntdUI.Chat.MsgList 是聊天界面左侧常见的会话/联系人列表控件。每一行使用 AntdUI.Chat.MsgItem 描述,可显示头像、名称、最近消息、时间、未读数或角标。

当前 DLL 已确认存在:AntdUI.Chat.MsgListAntdUI.Chat.MsgItemAntdUI.Chat.MsgItemCollection

最小示例

import win.ui;
import dotNet.AntdUI;
import System.Drawing;
/*DSG{{*/
var winform = win.form(text="MsgList 示例";right=360;bottom=420)
winform.add(
host={cls="custom";left=0;top=0;right=360;bottom=420;z=1}
)
/*}}*/

var msgList = AntdUI.Chat.MsgList(winform.host);
msgList.Dock = System.Windows.Forms.DockStyle.Fill;
msgList.IconRound = true;
msgList.IconRadius = 8;

var item1 = AntdUI.Chat.MsgItem("张三");
item1.ID = "u1001";
item1.Text = "最近消息:晚上一起吃饭?";
item1.Time = "09:30";
item1.Count = 2;
item1.Badge = "2";
item1.Select = true;
msgList.Items.Add(item1);

var item2 = AntdUI.Chat.MsgItem("李四");
item2.ID = "u1002";
item2.Text = "文件已收到";
item2.Time = "昨天";
msgList.Items.Add(item2);

msgList.ItemClick = function(sender,e){
    var it = e.Item;
    winform.text = "当前会话:" + (it ? it.Name : "");
}

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

常用属性

MsgList

MsgItem

常用事件

msgList.ItemDoubleClick = function(sender,e){
    var it = e.Item;
    if(it) winform.msgbox("打开会话:" + it.Name);
}

与 ChatList 组合

实际聊天窗口通常左侧放 MsgList,右侧放 ChatList。同一 aardio custom 宿主内放多个 AntdUI 控件时,建议先创建 AntdUI.BaseForm(winform.host) 作为 .NET 容器,再设置子控件 ParentLocationSize

import win.ui;
import dotNet.AntdUI;
import System.Drawing;

var winform = win.form(text="聊天布局";right=760;bottom=480);
winform.add(host={cls="custom";left=0;top=0;right=760;bottom=480;z=1});

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

var msgList = AntdUI.Chat.MsgList();
msgList.Parent = baseForm;
msgList.Location = System.Drawing.Point(0,0);
msgList.Size = System.Drawing.Size(240,480);

var chatList = AntdUI.Chat.ChatList();
chatList.Parent = baseForm;
chatList.Location = System.Drawing.Point(240,0);
chatList.Size = System.Drawing.Size(520,480);

var user = AntdUI.Chat.MsgItem("张三");
user.Text = "你好,欢迎使用 dotNet.AntdUI";
msgList.Items.Add(user);

chatList.Items.Add(AntdUI.Chat.TextChatItem("你好!").SetName("张三"));

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

注意事项

Markdown 格式