Control.LostFocus イベントとは? わかりやすく解説

Control.LostFocus イベント

コントロールフォーカスがなくなると発生します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

解説解説

キーボード (TabShift + Tab など) を使用するか、Select メソッドまたは SelectNextControl メソッド呼び出すか、ContainerControl.ActiveControl プロパティ現在のフォーム設定してフォーカス変更するとき、次の順序フォーカス イベント発生します

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

マウス使用するFocus メソッド呼び出してフォーカス変更するとき、フォーカス イベント次の順序発生します

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

CausesValidation プロパティfalse設定されている場合Validating イベントおよび Validated イベント発生しません。

Validating イベント デリゲートで CancelEventArgs の Cancel プロパティtrue設定されると、通常Validating イベントの後に発生するすべてのイベント発生しなくなります

メモ注意

LostFocus イベント ハンドラの中からフォーカス設定しないくださいフォーカス設定すると、アプリケーションオペレーティング システム応答停止することがありますLostFocus イベント詳細については、MSDN ライブラリ (http://msdn.microsoft.com/library/ja) にあるプラットフォーム SDK ドキュメントの「Keyboard Input Reference」で WM_KILLFOCUS、および「Messages and Message Queues」で Message Deadlocks参照してください

イベント処理詳細については、「イベント利用」を参照してください

使用例使用例

TextBox1 のテキスト検証する方法次のコード例示しますまた、FileDialog.InitialDirectory プロパティを TextBox1 のテキスト設定してLostFocus イベント処理する方法示します。このコード例では、ErrorProvider.GetError メソッド使用してファイル ダイアログ ボックスを開く前にエラーがあるかどうか調べます。この例を実行するには、TextBox1 という名前の TextBoxOpenFileDialog1 という名前の OpenFileDialog、Button1 という名前の Button、および ErrorProvider1 という名前の ErrorProvider が配置されているフォーム次のコード貼り付けます。必ずすべてのイベントイベント ハンドラ関連付けるようにしてください

Private Sub TextBox1_Validating(ByVal
 sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs)
 _
Handles TextBox1.Validating

    ' If nothing is entered,
    ' an ArgumentException is caught; if an invalid directory is entered,
 
    ' a DirectoryNotFoundException is caught. An appropriate error message
 
    ' is displayed in either case.
    Try
        Dim directory As New
 System.IO.DirectoryInfo(TextBox1.Text)
        directory.GetFiles()
        ErrorProvider1.SetError(TextBox1, "")

    Catch ex1 As System.ArgumentException
        ErrorProvider1.SetError(TextBox1, "Please enter a directory")

    Catch ex2 As System.IO.DirectoryNotFoundException
        ErrorProvider1.SetError(TextBox1, _
        "The directory does not exist." & _
        "Try again with a different directory.")
    End Try

End Sub

' This method handles the LostFocus event for TextBox1 by setting the
 
' dialog's InitialDirectory property to the text in TextBox1.
Private Sub TextBox1_LostFocus(ByVal
 sender As Object, _
    ByVal e As System.EventArgs) Handles
 TextBox1.LostFocus
    OpenFileDialog1.InitialDirectory = TextBox1.Text
End Sub


' This method demonstrates using the ErrorProvider.GetError method 
' to check for an error before opening the dialog box.
Private Sub Button1_Click(ByVal
 sender As System.Object, _
ByVal e As System.EventArgs) Handles
 Button1.Click

    'If there is no error, then open the dialog box.
    If ErrorProvider1.GetError(TextBox1) = ""
 Then
        Dim dialogResult As DialogResult =
 OpenFileDialog1.ShowDialog()
    End If

End Sub
private void TextBox1_Validating(object sender,
 
    System.ComponentModel.CancelEventArgs e)
{
    // If nothing is entered,
    // an ArgumentException is caught; if an invalid directory is entered,
 
    // a DirectoryNotFoundException is caught. An appropriate error
 message 
    // is displayed in either case.
    try
    {
        System.IO.DirectoryInfo directory = 
            new System.IO.DirectoryInfo(TextBox1.Text);
        directory.GetFiles();
        ErrorProvider1.SetError(TextBox1, "");

    }
    catch(System.ArgumentException ex1)
    {
        ErrorProvider1.SetError(TextBox1, "Please enter a directory");

    }
    catch(System.IO.DirectoryNotFoundException ex2)
    {
        ErrorProvider1.SetError(TextBox1, "The directory does not exist."
 +
            "Try again with a different directory.");
    }

}

// This method handles the LostFocus event for TextBox1 by setting the
 
// dialog's InitialDirectory property to the text in TextBox1.
private void TextBox1_LostFocus(object sender,
 System.EventArgs e)
{
    OpenFileDialog1.InitialDirectory = TextBox1.Text;
}

// This method demonstrates using the ErrorProvider.GetError method
 
// to check for an error before opening the dialog box.
private void Button1_Click(System.Object sender,
 System.EventArgs e)
{
    //If there is no error, then open the dialog box.
    if (ErrorProvider1.GetError(TextBox1)=="")
    {
        DialogResult dialogResult = OpenFileDialog1.ShowDialog();
    }
}
private:
   void TextBox1_Validating( Object^ sender,
      System::ComponentModel::CancelEventArgs^ e )
   {
      // If nothing is entered,
      // an ArgumentException is caught; if an invalid directory is entered,
 
      // a DirectoryNotFoundException is caught. An appropriate error
 message 
      // is displayed in either case.
      try
      {
         System::IO::DirectoryInfo^ directory = gcnew System::IO::DirectoryInfo(
 TextBox1->Text );
         directory->GetFiles();
         ErrorProvider1->SetError( TextBox1, "" );
      }
      catch ( System::ArgumentException^ ) 
      {
         ErrorProvider1->SetError( TextBox1, "Please enter a directory"
 );
      }
      catch ( System::IO::DirectoryNotFoundException^ ) 
      {
         ErrorProvider1->SetError( TextBox1, "The directory does not exist."
         "Try again with a different directory." );
      }
   }

   // This method handles the LostFocus event for TextBox1 by setting the
 
   // dialog's InitialDirectory property to the text in TextBox1.
   void TextBox1_LostFocus( Object^ sender, System::EventArgs^
 e )
   {
      OpenFileDialog1->InitialDirectory = TextBox1->Text;
   }

   // This method demonstrates using the ErrorProvider.GetError method
 
   // to check for an error before opening the dialog box.
   void Button1_Click( System::Object^ sender, System::EventArgs^
 e )
   {
      //If there is no error, then open the dialog box.
      if ( ErrorProvider1->GetError( TextBox1 )->Equals(
 "" ) )
      {
         ::DialogResult dialogResult = OpenFileDialog1->ShowDialog();
      }
   }
private void textBox1_Validating(Object sender,
 
    System.ComponentModel.CancelEventArgs e)
{
    // If nothing is entered,
    // an ArgumentException is caught; if an invalid directory is entered,
 
    // a DirectoryNotFoundException is caught. An appropriate error
 message 
    // is displayed in either case.
    try {
        System.IO.DirectoryInfo directory = new System.IO.DirectoryInfo(
            textBox1.get_Text());
        directory.GetFiles();
        errorProvider1.SetError(textBox1, "");
    }
    catch (System.ArgumentException ex1) {
        errorProvider1.SetError(textBox1, "Please enter a directory");
    }
    catch (System.IO.DirectoryNotFoundException ex2) {
        errorProvider1.SetError(textBox1, "The directory does not exist."
 
            + "Try again with a different directory.");
    }
} //textBox1_Validating

// This method handles the LostFocus event for textBox1 by setting the
 
// dialog's InitialDirectory property to the text in textBox1.
private void textBox1_LostFocus(Object sender,
 System.EventArgs e)
{
    openFileDialog1.set_InitialDirectory(textBox1.get_Text());
} //textBox1_LostFocus

// This method demonstrates using the ErrorProvider.GetError method
 
// to check for an error before opening the dialog box.
private void button1_Click(Object sender, System.EventArgs
 e)
{
    //If there is no error, then open the dialog box.
    if (errorProvider1.GetError(textBox1).Equals(""))
 {
        DialogResult dialogResult = openFileDialog1.ShowDialog();
    }
} //button1_Click
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からControl.LostFocus イベントを検索した結果を表示しています。
Weblioに収録されているすべての辞書からControl.LostFocus イベントを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からControl.LostFocus イベント を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Control.LostFocus イベント」の関連用語




Control.LostFocus イベントのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Control.LostFocus イベントのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS