Привязать к свойству Width можно следующим образом:
label1.DataBindings.Add(new Binding("Text", this, "Width"));
Проблема в том, что форма не уведомляет платформу об изменении свойства.Ваша самая простая лучшая ставка, скорее всего, состоит в том, чтобы сделать это по-мясному:
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
label1.Text = this.Width.ToString();
}
РЕДАКТИРОВАТЬ: Хорошо, если вы действительно хотите использовать привязку данных, вот способ, который работает(но это все равно что тянуть голову за голову, чтобы почесать ухо):
Добавьте источник данных объекта в свою форму и установите для источника данных тип "System.Windows.Forms.Form".
Затем добавьте немного кода:
public Form2()
{
InitializeComponent();
this.formBindingSource.DataSource = this;
Binding binding = new Binding("Text", this.formBindingSource, "Size", true);
binding.Format += new ConvertEventHandler(binding_Format);
label1.DataBindings.Add(binding);
}
void binding_Format(object sender, ConvertEventArgs e)
{
Size size = (Size)e.Value;
e.Value = size.Width.ToString();
}
Итак, как я уже сказал, это полное излишество, но оно работает.