Tabs 用于在多个页面之间切换。AntdUI 的 Tabs 内部通过 Pages 管理 TabPage,每个 TabPage 本身也是 WinForms 容器,可继续放入 AntdUI 控件或普通 WinForms 控件。
import win.ui;
var winform = win.form(text="AntdUI Tabs";right=760;bottom=460)
winform.add(host={cls="custom";left=20;top=20;right=730;bottom=420;z=1})
import dotNet.AntdUI;
import System.Windows.Forms;
var tabs = AntdUI.Tabs(winform.host);
tabs.Type = AntdUI.TabType.Card;
tabs.Centered = false;
var page1 = AntdUI.TabPage();
page1.Text = "概览";
var page2 = AntdUI.TabPage();
page2.Text = "设置";
page2.Badge = "2";
// TabPage 是 WinForms 容器,可继续放控件。
var btn = AntdUI.Button();
btn.Text = "页面内按钮";
btn.Dock = System.Windows.Forms.DockStyle.Top;
page1.Controls.Add(btn);
tabs.Pages.Add(page1);
tabs.Pages.Add(page2);
tabs.SelectedIndex = 0;
tabs.SelectedIndexChanged = function(sender,index){
winform.text = "当前标签序号:" + index;
}
winform.show();
win.loopMessage();
Pages:标签页集合,添加 AntdUI.TabPage。SelectedIndex / SelectedTab:当前选中页;索引从 0 开始。Type:标签类型,常见 AntdUI.TabType.Line、Card。Alignment:标签位置,使用 WinForms TabAlignment。Centered:标签居中展示。TabMenuVisible:是否显示标签头。EnableSwitch:是否允许切换。EnablePageScrolling:鼠标滚轮切换页面。EnablePageCloseByMouseMiddle / EnablePageCloseByMouseDoubleClick:中键、双击关闭。CloseDisposePage:关闭页面后是否释放。DragOrder:允许拖动排序。Text:标签文本。IconSvg:标签图标。Badge:角标文本。ReadOnly:只读页,不允许关闭或修改。Controls:页面内控件集合。AutoScroll:内容超出时显示滚动条。SelectTab(index) / SelectTab(tabPage) / SelectTab(name):选中页。ContainsTabPage(x,y):命中测试。SelectedIndexChanging:切换前事件,返回 false 可阻止切换。SelectedIndexChanged:切换后事件。ClosingPage:关闭页前事件。TabClick:点击标签。Tabs.SelectedIndex、Pages.Add() 相关索引采用 .NET 习惯,从 0 开始。Dock 或 Anchor,避免 DPI 与窗口缩放时布局异常。win.ui.tabs;需要 AntdUI 风格时再使用本控件。