Proprietà Cursors.SyncRoot
Aggiornamento: novembre 2007
Restituisce un oggetto che può essere utilizzato per sincronizzare l'accesso all'insieme Cursors.
Spazio dei nomi: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Sintassi
'Dichiarazione
Public ReadOnly Property SyncRoot As Object
'Utilizzo
Dim instance As Cursors
Dim value As Object
value = instance.SyncRoot
public Object SyncRoot { get; }
public:
virtual property Object^ SyncRoot {
Object^ get () sealed;
}
/** @property */
public final Object get_SyncRoot()
public final function get SyncRoot () : Object
Valore proprietà
Tipo: System.Object
Oggetto System.Object che può essere utilizzato per sincronizzare l'accesso all'insieme Cursors.
Implementa
Note
L'insieme Cursors implementa l'interfaccia System.Collections.ICollection. Per ulteriori informazioni sulla proprietà SyncRoot, vedere la proprietà System.Collections.ICollection.SyncRoot.
Esempi
In questo esempio C# viene restituito un report sugli attributi di tutti i cursori rilevati dall'oggetto InkCollector passato come parametro. Viene illustrato l'utilizzo della proprietà SyncRoot di un insieme per implementare l'iterazione thread-safe.
using Microsoft.Ink;
//. . .
public string CursorReport(InkCollector theInkCollector)
{
string theReport = "The InkCollector has encountered the following cursors so far:" + Environment.NewLine;
// Get the Cursors collection from the InkCollector
Microsoft.Ink.Cursors theCursors = theInkCollector.Cursors;
// Prevent changes to the collection while we iterate over it.
lock( theCursors.SyncRoot )
{
theReport += "Count of cursors: " + theCursors.Count + Environment.NewLine + Environment.NewLine ;
foreach (Microsoft.Ink.Cursor cursor in theCursors)
{
theReport += "Cursor Name: " + cursor.Name + Environment.NewLine;
theReport += "Cursor ToString: " + cursor.ToString() + Environment.NewLine;
theReport += "Tablet Name: " + cursor.Tablet.Name + Environment.NewLine;
theReport += "Cursor Id: " + cursor.Id.ToString() + Environment.NewLine;
theReport += "Cursor is inverted: " + cursor.Inverted.ToString() + Environment.NewLine;
theReport += "Cursor Buttons:" + Environment.NewLine;
foreach (CursorButton button in cursor.Buttons)
{
CursorButtonState theState = button.State;
theReport += " Button Name: " + button.Name + Environment.NewLine;
theReport += " State: " + button.State.ToString() + Environment.NewLine;
theReport += " Id: " + button.Id.ToString() + Environment.NewLine + Environment.NewLine;
}
}
}
return theReport;
}
In questo esempio Microsoft® Visual Basic® .NET viene restituito un report sugli attributi di tutti i cursori rilevati dall'oggetto InkCollector passato come parametro. Viene illustrato l'utilizzo della proprietà SyncRoot di un insieme per implementare l'iterazione thread-safe.
Imports Microsoft.Ink
'. . .
Public Function CursorReport(ByVal theInkCollector As InkCollector) _
As String
Dim theReport As String = "The InkCollector has encountered " & _
"the following cursors so far:" & vbCrLf
' Get the Cursors collection from the InkCollector
Dim theCursors As Microsoft.Ink.Cursors = theInkCollector.Cursors
' Prevent changes to the collection while we iterate over it.
SyncLock theCursors.SyncRoot
theReport &= "Count of cursors: " & theCursors.Count & vbCrLf
Dim theCursor As Microsoft.Ink.Cursor
For Each theCursor In theCursors
theReport &= "Cursor Name: " & theCursor.Name & vbCrLf
theReport &= "Cursor ToString: " & theCursor.ToString() & _
vbCrLf
theReport &= "Tablet Name: " & theCursor.Tablet.Name & vbCrLf
theReport &= "Cursor Id: " & theCursor.Id.ToString() & vbCrLf
theReport &= "Cursor is inverted: " & _
theCursor.Inverted.ToString() & vbCrLf
theReport &= "Cursor Buttons:" & vbCrLf
Dim theButton As CursorButton
For Each theButton In theCursor.Buttons
Dim theState As CursorButtonState = theButton.State
theReport &= " Button Name: " & theButton.Name & vbCrLf
theReport &= " State: " & _
theButton.State.ToString() & vbCrLf
theReport &= " Id: " & theButton.Id.ToString() & _
vbCrLf & vbCrLf
Next
Next
End SyncLock
Return theReport
End Function
Piattaforme
Windows Vista
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Informazioni sulla versione
.NET Framework
Supportato in: 3.0