SetOriginalValueメソッドが呼び出されてからコントロールの値が変化したかどうかを示す値を取得します。
True:変化した False:変化していない 既定値:False
SetOriginalValueメソッドを呼び出さなかった場合はFalseを返します。
(CustomInterface.IOriginalValueChanged.IsOriginalValueChangedを実装)
画面の入力内容が、ある時点から変化していた場合、確認メッセージなどを表示する際に使用します。
'--------------------------------------------------------------------------------------------------- 'フォーム内に配置されたすべてのカスタムコントロールの値が 'CustomButton1がクリックされてからCustomButton2がクリックされるまでの間に '変化したかどうかをチェックします。 '--------------------------------------------------------------------------------------------------- 'CustomButton1クリックイベント Private Sub CustomButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles CustomButton1.Click 'フォーム内に配置されたすべてのカスタムコントロールの現在値を記憶します。 Call SetOriginalValue(Me) End Sub 'CustomButton2クリックイベント Private Sub CustomButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles CustomButton2.Click 'フォーム内に配置されたすべてのカスタムコントロールの値が変化したかどうかをチェックし '変化しているコントロールがある場合は確認メッセージを表示します。 If IsOriginalValueChanged(Me) = True Then MessageBox.Show("CustomButton1がクリックされてからコントロールの値が変化しました。") End If End Sub 'フォーム内に配置されたすべてのカスタムコントロールの現在値を記憶します。 Private Sub SetOriginalValue(ByVal parent As Control) For Each ctrl As Control In parent.Controls If ctrl.HasChildren = True Then Call SetOriginalValue(ctrl) End If If TypeOf (ctrl) Is CustomControls.CustomInterface.IOriginalValueChanged Then CType(ctrl, CustomControls.CustomInterface.IOriginalValueChanged).SetOriginalValue() End If Next End Sub 'フォーム内に配置されたすべてのカスタムコントロールの値が変化したかどうかをチェックします。 Private Function IsOriginalValueChanged(ByVal parent As Control) As Boolean For Each ctrl As Control In parent.Controls If ctrl.HasChildren = True Then Call SetOriginalValue(ctrl) End If If TypeOf (ctrl) Is CustomControls.CustomInterface.IOriginalValueChanged Then If CType(ctrl, CustomControls.CustomInterface.IOriginalValueChanged).IsOriginalValueChanged Then Return True End If End If Next End Sub