aardio 文档

StackPanel 堆栈布局

AntdUI.StackPanel 按水平方向或垂直方向顺序排列子控件,适合工具条、表单行、按钮组等简单线性布局。

最小示例

import win.ui;
import dotNet.AntdUI;
import System.Windows.Forms;
import System.Drawing;
/*DSG{{*/
var winform = win.form(text="AntdUI StackPanel";right=640;bottom=180)
winform.add(host={cls="custom";left=20;top=30;right=620;bottom=110;dl=1;dr=1;dt=1;z=1})
/*}}*/

var panel = AntdUI.StackPanel(winform.host);
panel.Vertical = false;
panel.Gap = 10;
panel.AutoScroll = true;
panel.Padding = System.Windows.Forms.Padding(10);

// StackPanel 横向布局中,ItemSize 表示每一项的宽度。
panel.ItemSize = "88";

var btnSave = AntdUI.Button();
btnSave.Text = "保存";
btnSave.Type = AntdUI.TTypeMini.Primary;
btnSave.Size = System.Drawing.Size(88,32);

var btnCancel = AntdUI.Button();
btnCancel.Text = "取消";
btnCancel.Size = System.Drawing.Size(88,32);

var btnDelete = AntdUI.Button();
btnDelete.Text = "删除";
btnDelete.Type = AntdUI.TTypeMini.Error;
btnDelete.Size = System.Drawing.Size(88,32);

// AntdUI 2.4.1 的 StackPanel 会将后添加的控件排在前面。
// 下面按反序添加,使视觉顺序为:保存、取消、删除。
panel.Controls.Add(btnDelete);
panel.Controls.Add(btnCancel);
panel.Controls.Add(btnSave);

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

常用属性与方法

成员 说明
Vertical 是否垂直排列;false 为水平排列。
Gap 子控件之间的间距。
ItemSize 子控件主轴尺寸规则字符串。横向布局表示宽度,纵向布局表示高度;不指定时使用子控件当前 Width/Height
AutoScroll 内容超出时是否显示滚动条。
RightToLeft 反向布局。
PauseLayout 批量调整时暂停布局。
Add(control) 添加子控件。
AddToFront(control) / AddToBack(control) 添加到前/后。
Remove(control) / RemoveAt(index) / Clear() 删除子控件。

注意事项

Markdown 格式