- DirectUI for Winform 是一个 winform 平台的界面库。
- .net framework 4.0
- 虚拟控件的无句柄渲染,支持重绘,方便扩展。
- 图元支持,封装渲染方法,简化渲染操作。
- 支持 win32 控件上无句柄渲染。
- 消息分发,虚拟控件事件支持。
- 动画接口,部分控件支持动画,可方便实现整个窗口渲染动画。
- 实现部分虚拟控件。
- Tab 焦点切换。
- 键盘快捷键支持。
- 虚拟输入框控件。
- 设计模式支持。
- 代码内包含一个示例。
- 以下是一些常用的代码片段。
// 虚拟控件使用
private void Init()
{
UIButton button = new UIButton();
button.Size = new Size(70, 30);
button.Location = new Point(5, 15);
button.Text = “测试按钮”;
button.Click += (sender, e) => MessageBox.Show("按钮单击");
this.UIControls.Add(button);
}
// 虚拟控件重绘
protected override void RenderSelf(PaintEventArgs e)
{
Graphics g = e.Graphics;
Rectangle rect = RectangleEx.Subtract(this.ClientRectangle, this.Padding);
this.Sprite.BackColor = this.BackColor;
this.Sprite.Text = this.Text;
this.Sprite.TextRenderingHint = this.TextRenderingHint;
this.Sprite.TextAlign = this.TextAlign;
this.Sprite.BorderVisibleStyle = BorderVisibleStyle.None;
this.Sprite.State = this.State;
this.Sprite.BeginRender(g);
this.Sprite.RenderText(rect);
this.Sprite.EndRender();
}