HasUnsavedChangesフォームを閉じるときに基本的に呼び出される関数を作成しようとしています。つまり、アイテムを保存した後、コントロールの値をTag、同じ関数にあるプロパティ の値と比較してチェックする必要がtxtFirstName.Tag = .ContactFirstnameありtxtFirstName.Text = .ContactFirstnameます。両者に違いがある場合は、 を返しTrueます。フォームを閉じるときに、この関数が true を返す場合は、変更を保存するかどうかを尋ねます。
コントロールをループするループを書くのが正しい方法だと思いますがFor、その後行き詰まります。