1

C# のドキュメントから引用:

データ バインディングを使用すると、Validating イベントの実行中に、コントロール内のデータがデータ ソースと同期されます。Validating イベントをキャンセルすると、データはデータ ソースと同期されません。

私は実際に電話しています:

private void textBoxGrainWidth_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
    int result;
    if(!int.TryParse(textBoxGrainWidth.Text,out result))
    {
        e.Cancel = true;
        return;
    }
}

そして、これは実際に、バインドされたプロパティの設定を次の方法で呼び出します。

this.textBoxGrainWidth.DataBindings.Add(
    new System.Windows.Forms.Binding("Text",
        this.bindingSourceControlData, "GrainWidth", true));

だから私はドキュメントでBSに電話します。この投稿は同じ問題に言及していますが、実際の解決策はありません。

何かアドバイス?Winforms & Binding & Validation を同時に使用しないでください。

4

1 に答える 1

0

私がすでに経験したことから、ソースがintフィールドで無効なデータを入力すると、同期されません。だから、あなたの のタイプはわかりませんがthis.bindingSourceControlData、 でない場合は、intそうあるべきかもしれません。

于 2013-06-19T20:04:45.393 に答える