投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/3/19 06:09:11
たとえば TextBox だと、Modified プロパティという物があります。

ユーザーがテキストを変更すると、Modified プロパティは True になります。
一方、「TextBox1.Text = "New Value"」などのように、
プログラムから値を設定した時には False となります。


また、データバインドを用いている場合には、そちらの変更通知機能を使うという手もあります。
(ちなみに DataTable では、変更前の値と変更後の値を両方保持するようになっています)


このほか、コントロールの各種変更イベント(TextChanged/SelectedIndexChanged 等)が
呼ばれたときに、ユーザーによる修正が行われたと判断するという実装パターンや、
変更前後の値を保持しておき、内容に変化があった場合には変更されていると
判断するといった実装パターンなどがあります。