Classe ItemConstraintEventArgs
Fournit des données pour l'événement ItemConstraint.
Espace de noms : Microsoft.Synchronization
Assembly : Microsoft.Synchronization (dans Microsoft.Synchronization.dll)
Syntaxe
'Déclaration
Public Class ItemConstraintEventArgs _
Inherits EventArgs
'Utilisation
Dim instance As ItemConstraintEventArgs
public class ItemConstraintEventArgs : EventArgs
public ref class ItemConstraintEventArgs : public EventArgs
type ItemConstraintEventArgs =
class
inherit EventArgs
end
public class ItemConstraintEventArgs extends EventArgs
Notes
ItemConstraintEventArgs se produit lorsqu'un conflit de contraintes est signalé, pour les conflits de contraintes de collision lorsque la stratégie de résolution de conflit de collision a la valeur ApplicationDefined, ainsi que pour tous les conflits de contraintes de non-collision.
Exemples
L'exemple suivant implémente un gestionnaire pour l'événement ItemConstraint. Le gestionnaire affiche les éléments en conflit à l'intention de l'utilisateur et définit l'action de résolution de conflit de contraintes en fonction de la réponse de l'utilisateur.
Private Sub HandleItemConstraint(ByVal sender As [Object], ByVal args As ItemConstraintEventArgs)
If ConstraintConflictReason.Collision = args.ConstraintConflictReason Then
' Display the two items that are in conflict and solicit a resolution from the user.
Dim srcContact As New Contact(DirectCast(args.SourceChangeData, String()))
Dim destContact As New Contact(DirectCast(args.DestinationChangeData, String()))
Dim msg As String = ("Source change is " & srcContact.ToString() & vbLf & "Destination change is ") & destContact.ToString() & vbLf & "Click Yes to rename the source change and apply it." & vbLf & "Click No to rename the destination item and apply the source change." & vbLf & "Click Cancel to delete the destination item and apply the source change."
Dim ccDlg As New ConstraintConflictDlg(msg)
ccDlg.ShowDialog()
' Set the resolution action based on the user's response.
args.SetResolutionAction(ccDlg.Resolution)
Else
args.SetResolutionAction(ConstraintConflictResolutionAction.SaveConflict)
End If
End Sub
void HandleItemConstraint(Object sender, ItemConstraintEventArgs args)
{
if (ConstraintConflictReason.Collision == args.ConstraintConflictReason)
{
// Display the two items that are in conflict and solicit a resolution from the user.
Contact srcContact = new Contact((string[])args.SourceChangeData);
Contact destContact = new Contact((string[])args.DestinationChangeData);
string msg = "Source change is " + srcContact.ToString() +
"\nDestination change is " + destContact.ToString() +
"\nClick Yes to rename the source change and apply it." +
"\nClick No to rename the destination item and apply the source change." +
"\nClick Cancel to delete the destination item and apply the source change.";
ConstraintConflictDlg ccDlg = new ConstraintConflictDlg(msg);
ccDlg.ShowDialog();
// Set the resolution action based on the user's response.
args.SetResolutionAction(ccDlg.Resolution);
}
else
{
args.SetResolutionAction(ConstraintConflictResolutionAction.SaveConflict);
}
}
Hiérarchie d'héritage
System. . :: . .Object
System. . :: . .EventArgs
Microsoft.Synchronization..::..ItemConstraintEventArgs
Sécurité des threads
Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Membres ItemConstraintEventArgs
Espace de noms Microsoft.Synchronization