ItemConstraintEventArgs 類別
提供 ItemConstraint 事件的資料。
命名空間: Microsoft.Synchronization
組件: Microsoft.Synchronization (在 microsoft.synchronization.dll)
語法
'宣告
Public Class ItemConstraintEventArgs
Inherits EventArgs
'用途
Dim instance As ItemConstraintEventArgs
public class ItemConstraintEventArgs : EventArgs
public ref class ItemConstraintEventArgs : public EventArgs
public class ItemConstraintEventArgs extends EventArgs
public class ItemConstraintEventArgs extends EventArgs
備註
ItemConstraintEventArgs 會在報告條件約束衝突時發生,代表衝突解決原則設定為 ApplicationDefined 時發生的衝突,以及所有非衝突條件約束衝突。
範例
下列範例會實作 ItemConstraint 事件的處理常式。此處理常式會向使用者顯示衝突項目,並且根據使用者的回應設定條件約束衝突解決動作。
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);
}
}
繼承階層
System.Object
System.EventArgs
Microsoft.Synchronization.ItemConstraintEventArgs
執行緒安全性
任何公用靜態 (共用 在 Visual Basic) 此型別的成員具備執行緒安全。不保證任何執行個體成員安全執行緒。
請參閱
參考
ItemConstraintEventArgs 成員
Microsoft.Synchronization 命名空間