将两个属性绑定到一个文本框文本

时间:2013-03-31 10:01:10

标签: winforms data-binding textbox

假设我有一个这样的类:

class MyClass
{
    ... (some more properties here)

    public int Min {get;set;}
    public int Max {get;set;}

    ... (some more properties here)
}

现在我在设计器中放置一个文本框,我希望它将Min和Max显示为用短划线分隔的文本。 例如,如果Min = 3且Max = 10,则文本框应显示“3-10”。 当文本被更改/绑定被更新时,它应解析字符串“3-10”,如下所示:

用' - '拆分字符串并用int.Parse(...)解析两个字符串 如果这不起作用(发生异常),我想以某种方式对此作出反应。例如,显示错误消息将起作用。

我该怎么做? VisualStudio设计器只允许我将Text绑定到对象的一个​​属性。

1 个答案:

答案 0 :(得分:0)

要显示3-10,您可以写

TextBoxName.Text=Min + "-" + Max;

并且,您可以引发异常并将MessageBox显示为:

try{
    int.Parse(Min);
    int.Parse(Max);
}
catch(Exception ae){
    MessageBox.Show("Some error message");
}

修改 对于绑定,

textBoxName.DataBindings.Add("Text",this,"StringVariable");
                    //Text property,this form, name of the variable.

其中StringVariable是返回Min +“ - ”+ Max;

的属性