次の方法で共有


TextBoxBase.Clear メソッド

定義

テキスト ボックス コントロールからすべてのテキストを削除します。

public:
 void Clear();
public void Clear ();
member this.Clear : unit -> unit
Public Sub Clear ()

次のコード例では、 派生クラスを使用 TextBoxして、 イベントのイベント ハンドラーを TextChanged 作成します。 イベント ハンドラー内のコードは、データを数値に制限します。 コントロールにテキストを入力すると、入力されたテキストが数値であるかどうかを判断します。 テキストが数値でない場合、コードはコントロールからテキストをクリアし、 MessageBox が表示され、数値のみが受け入れられることをユーザーに警告します。 この例では、 という名前flagBoolean変数と TextBox というtextBox1コントロールがこのメソッドの外部で定義されている必要があります。 この例では、フラグ変数を使用して、イベント内のカスケード イベントを回避する方法を TextChanged 示します。

private:
   bool flag;

private:
   void MyTextChangedHandler( System::Object^ sender, System::EventArgs^ e )
   {
      Int64 val;
      // Check the flag to prevent code re-entry. 
      if ( !flag )
      {
         // Set the flag to True to prevent re-entry of the code below.
         flag = true;
         // Determine if the text of the control is a number.
         try
         {
            // Attempt to convert to long
            val = System::Convert::ToInt64( textBox1->Text );
         }
         catch ( Exception^ ) 
         {
            // Display a message box and clear the contents if not a number.
            MessageBox::Show( "The text is not a valid number. Please re-enter" );
            // Clear the contents of the text box to allow re-entry.
            textBox1->Clear();
         }
         // Reset the flag so other TextChanged events are processed correctly.
         flag = false;
      }
   }
private bool flag;

private void MyTextChangedHandler(System.Object sender, System.EventArgs e)
{
    long val;    
    // Check the flag to prevent code re-entry. 
    if (!flag)
    {
       // Set the flag to True to prevent re-entry of the code below.
       flag = true;
       // Determine if the text of the control is a number.
       try {
          // Attempt to convert to long
          val = System.Convert.ToInt64(textBox1.Text);
       }
       catch {
          // Display a message box and clear the contents if not a number.
          MessageBox.Show("The text is not a valid number. Please re-enter");
          // Clear the contents of the text box to allow re-entry.
          textBox1.Clear();
       }
       // Reset the flag so other TextChanged events are processed correctly.
       flag = false;
    }        
 }
Private flag As Boolean    

Private Sub MyTextChangedHandler(sender As System.Object, e As System.EventArgs)
    ' Check the flag to prevent code re-entry. 
    If flag = False Then
        ' Set the flag to True to prevent re-entry of the code below.
        flag = True
        ' Determine if the text of the control is a number.
        If IsNumeric(textBox1.Text) = False Then
            ' Display a message box and clear the contents if not a number.
            MessageBox.Show("The text is not a valid number. Please re-enter")
            ' Clear the contents of the text box to allow re-entry.
            textBox1.Clear()
        End If
        ' Reset the flag so other TextChanged events are processed correctly.
        flag = False
    End If
End Sub

注釈

このメソッドを使用すると、プロパティに空の文字列を割り当てるのではなく、コントロールの内容を Text クリアできます。

適用対象

こちらもご覧ください