Udostępnij za pośrednictwem


ControlCollection.IsReadOnly Właściwość

Definicja

Pobiera wartość wskazującą, czy ControlCollection obiekt jest tylko do odczytu.

public:
 property bool IsReadOnly { bool get(); };
public bool IsReadOnly { get; }
member this.IsReadOnly : bool
Public ReadOnly Property IsReadOnly As Boolean

Wartość właściwości

true jeśli kontrolka jest tylko do odczytu; w przeciwnym razie , false. Wartość domyślna to false.

Przykłady

Poniższy przykład kodu tworzy metodę wyliczaną przez ControlCollection kolekcję kontrolki ButtonmyButton. Po utworzeniu modułu wyliczającego właściwość jest sprawdzana, aby sprawdzić, IsSynchronized czy operacja jest bezpieczna wątkiem, a jeśli tak nie jest, SyncRoot właściwość jest używana do uzyskania obiektu w celu zapewnienia bezpieczeństwa wątku operacji. Po zakończeniu wyliczania wartość IsReadOnly właściwości jest zapisywana jako Text właściwość Label kontrolki na zawierającej stronie.

// Create a method that enuberates through a 
// button//s ControlCollection in a thread-safe manner.  
public void ListControlCollection(object sender, EventArgs e)
{
   IEnumerator myEnumerator = myButton.Controls.GetEnumerator();

   // Check the IsSynchronized property. If False,
   // use the SyncRoot method to get an object that 
   // allows the enumeration of all controls to be 
   // thread safe.
   if (myButton.Controls.IsSynchronized == false)
   {
       lock (myButton.Controls.SyncRoot)
       {
           while (myEnumerator.MoveNext())
           {

               Object myObject = myEnumerator.Current;

               LiteralControl childControl = (LiteralControl)myEnumerator.Current;
               Response.Write("<b><br /> This is the  text of the child Control  </b>: " +
                              childControl.Text);
           }
           msgReadOnly.Text = myButton.Controls.IsReadOnly.ToString();
       }
   }       
}
' Create a method that enuberates through a 
' button's ControlCollection in a thread-safe manner.  
Public Sub ListControlCollection(sender As Object, e As EventArgs)
   Dim myEnumerator As IEnumerator = myButton.Controls.GetEnumerator()

   ' Check the IsSynchronized property. If False,
   ' use the SyncRoot method to get an object that 
   ' allows the enumeration of all controls to be 
   ' thread safe.
   If myButton.Controls.IsSynchronized = False Then
     SyncLock myButton.Controls.SyncRoot
       While (myEnumerator.MoveNext())

       Dim myObject As Object  = myEnumerator.Current
           
         Dim childControl As LiteralControl = CType(myEnumerator.Current, LiteralControl)
         Response.Write("<b><br /> This is the  text of the child Control  </b>: " & _
                        childControl.Text)
       End While
      msgReadOnly.Text = myButton.Controls.IsReadOnly.ToString()
      
      End SyncLock
   End If       
 End Sub

Dotyczy

Zobacz też