aardio 文档

System.Windows.Forms 库模块帮助文档

必读

构造并嵌入 .NET 控件

如果在 aardio 界面线程 内调用 .NET 控件构造函数, 并将第 1 构造参数指定为 aardio 控件,例如:

var dataGridView = System.Windows.Forms.DataGridView(winform.custom); 

aardio 会自动将其转换为:

var dataGridView = System.Windows.Forms.DataGridView();

/*
aardio 会设置 .NET 控件自动填满 aardio 窗口,并移除三维边框/双边框扩展样式,
同时会将 aardio 控件的禁用、显示、文本属性转移给 .NET 控件,忽略其他属性。
*/
System.Windows.Forms.CreateEmbed(dataGridView,winform.custom);

以简化调用代码。

建议加载 WinForm 控件的 .NET 程序集声明 isWinFormAssembly 属性为 true, 例如标准库 System.Windows.Forms 里就是这样写的:

System.Windows.Forms.__assembly__[["isWinFormAssembly"]] = true; 

在 aardio 中调用 System.Windows.Forms.DataGridView(winform.custom) 时, 如果发现提供该 .NET 类的 .NET 程序集的 isWinFormAssembly 属性为 true , 则会直接将代码优化为:

var dataGridView = System.Windows.Forms.DataGridView();
System.Windows.Forms.CreateEmbed(dataGridView,winform.custom);

如果程序集指定了以下直接属性:

[["baseFormClass"]] = System.Windows.Forms.Form;

则 aardio 会按 isWinFormAssembly 属性为 true 进行优化, 并且会使用指定的 baseFormClass 创建控件容器窗口(代替默认的 System.Windows.Forms.Form)。

否则会先调用 System.Windows.Forms.DataGridView(winform.custom) 一次, 在失败之后才会转换为 System.Windows.Forms.DataGridView() 与 ·System.Windows.Forms.CreateEmbed· 调用。

自定义 custom 控件的外观

创建 winform.custom 的参数表的 cls 字段可指定为: "custom","custom.button","custom.edit","custom.checkbox","custom.radio","custom.trackbar" 其中之一。

这些都是 custom 控件的别名,
唯一区别是在 aardio 窗口设计器显示的外观不同。
例如 "custom.checkbox" 在窗体设计器中会显示为复选框。

custom 启用双边框(控件构造参数中指定frame=1)后在设计器中显示凸起边框,外观类似 button , 启用三维边框时(控件构造参数中指定edge=1)后设计器中显示凹陷边框,外观类似 edit 。 嵌入 .NET 控件时默认会自动移除通过 frame=1edge=1 创建的边框。

System.Windows.Forms 成员列表 #

.NET System.Windows.Forms 命名空间

返回对象:dotNetNameSpaceObject

System.Windows.Forms.* #

.NET 命名空间、类、结构体的成员,
可访问成员命名空间、类、枚举、静态属性或字段,
导入的类可用于构造 .Net 对象,传回 .Net 则自动转为该类的 Type 对象

返回对象:dotNetNameSpaceObject

System.Windows.Forms.CreateEmbed #

嵌入 .NET 控件(或 .NET 窗体对象)到 aardio 窗口。
此函数会为 .Net 控件创建无边框的 .NET 容器窗口,
再嵌入到 aardio 窗口内。
此函数也会自动移除 aardio 窗口的三维边框 / 双边框。
同时会将 aardio 窗口的禁用、显示、文本属性转移给 .NET 控件,忽略其他属性。
并设置 .NET 控件窗口填满并替代 aardio 窗口显示区域,并且同步缩放。

如果调用 .NET 窗口或控件的构造函数并将参数指定为 aardio 窗口时会自动调用此函数。

System.Windows.Forms.CreateEmbed(netCtrl,aardioForm,baseFormClass) #

嵌入 .NET 控件(或 .NET 窗体对象)到 aardio 窗口。
@- netCtrl 参数可指定 .Net 控件,
也可以指定 System.Windows.Forms 命名空间下的控件类名。
@netCtrl 也可以指定 .NET 窗体对象(System.Windows.Forms.Form)。
如果 @netCtrl 不是 Form 则会创建一个 Form 作为容器再嵌入到 aardio 窗口中。

System.Windows.Forms.assembly #

导入此 .NET 命名空间的程序集对象。

返回对象:dotNetCrlAssemblyObject

Markdown 格式