C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.57505 の関連記事表示

<< 0 >>
■57505  Re[1]: CellEnterイベントでフォームをcloseできない
□投稿者/ じゃんぬねっと -(2011/03/01(Tue) 23:31:19)
>
    No57502 (german さん) に返信
    > 行いたい事は、form_bのDataGridViewから、選択したセルの値を取得した後、
    > form_aをOpenし、Form_bをCloseしたいのです。

    Open? ちょっと珍しい表現方法ですね。
    Show メソッド、ShowDialog メソッド、どちらなのでしょうか?
    後述の form_a の絡みを見る限り Show メソッドだと見ていますが。

    > 現在、DataGridView1_CellEnterイベント内で、
    > form_aをOpenした後、form_bを、Me.Closeにしているのですが、

    CellEnter イベントだと "選択したセルの値を取得した後" としては不適切ではないですか?
    DataGridView にフォーカスを移した後に、キーボードで矢印キーを押すだけで選択の余地もなく、Form ごと閉じられちゃうなんてムゴすぎます。

    > Me.Closeの箇所で、
    > InvalidOperationExceptionはハンドルされませんでした。
    > 操作はこのイベントハンドラは実行できません。
    > とエラーとなってしまいます。

    「form_b の CellEnter イベントの中で Me.Close と記述している」
    「例外が起きている個所は StackTrace で見ても Close メソッドである」
    本当に合っていますか?
    Form が参照不能状態で何かが処理されてしまっている典型的なパターンに見えなくもないものですから、ご確認ください。

    # 確かに InvalidOperationException はイベントのタイミング的な問題 (コンポーネント側の WndProc 内部が原因) で起きることもありますが。

    > 何とか、form_bを閉じる方法はないでしょうか?
    > 何卒、宜しくお願いします。

    なぜかわからない時は、一旦あやしいところをコメントアウトなどして、
    現象が再現できるミニマムコードを書くと良いですよ。
    そうやって勉強している時期が俺にもありました。
記事No.57502 のレス /過去ログ96より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -