将表单的大小和位置属性绑定到标签的文本 属性

Binding Form's Size and Location properties to Labels' Text property

我习惯了 WPF 中的 data-binding,它完全支持它,我知道它存在但是Windows 表格.

出于好奇,我想做一些非常基本的数据绑定:

是否可行,如果可行,如何实现?

以下是实现方法:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        Label positionOutput = new Label { Dock = DockStyle.Top };
        positionOutput.DataBindings.Add("Text", this, "Location");

        Label sizeOutput = new Label { Dock = DockStyle.Top };
        sizeOutput.DataBindings.Add("Text", this, "Size");

        this.Controls.Add(positionOutput);
        this.Controls.Add(sizeOutput);
    }
}

它适用于 LocationSize,因为 Form class 提供了专用的数据绑定事件:LocationChangedSizeChanged.

但是使用 WidthHeight 您将无法从实时自动更新中受益,因为没有 WidthChangedHeightChanged 事件。