将文本绑定到大小

时间:2011-12-05 13:48:46

标签: c# winforms binding

如何将text属性从textBox绑定到面板的宽度?

我试过了:

   panel1.DataBindings.Add("Text", textBox3, "Size.Width");

但它引发了异常

Object does not match target type.

编辑:我想更改面板的宽度,因为文本框中的文字已更改。

2 个答案:

答案 0 :(得分:3)

试试这个:

void MakeBind()
{
     Binding bind = new Binding("Width", textBox3, "Text");
     bind.Format += new ConvertEventHandler(bind_Format);
     panel1.DataBindings.Add(bind);
}
void bind_Format(object sender, ConvertEventArgs e)
{
     int i = 0;
     int.TryParse((string)e.Value, out i);
     e.Value = i;
}

你也应该知道,你不能直接改变Size.Width,因为Size是一个属性,它返回值类型,你不能改变这种方式。仅用新宽度设置新尺寸。

答案 1 :(得分:-1)

panel1.DataBindings.Add("Text", int.TryParse(textBox3.text), "Size.Width");