0

次のようなクラスがあるとします。

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

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

    ... (some more properties here)
}

ここで、デザイナーにテキスト ボックスを配置し、Min と Max をダッシュ​​で区切られたテキストとして表示します。たとえば、最小値が 3 で最大値が 10 の場合、テキスト ボックスには「3-10」と表示されます。テキストが変更されたりバインディングが更新されたりすると、次のように文字列「3-10」を解析する必要があります。

文字列を「-」で分割し、2 つの文字列を int.Parse(...) で解析します。それが機能しない場合 (例外が発生する場合)、何らかの形で対応したいと思います。たとえば、エラー メッセージを表示するとうまくいきます。

どうすればいいですか?VisualStudio デザイナーでは、Text をオブジェクトの 1 つのプロパティにバインドすることしかできません。

4

1 に答える 1

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 を返すプロパティです。

于 2013-03-31T10:15:18.843 に答える