【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

VB.NET2003,2005についての質問です。

下記の処理を、Windowsアプリケーションで実現することは可能でしょうか。

  ・各コントロールのイベントで、メンバ変数であるフラグAに、値を設定する処理を行う。
  ・各コントロールのイベントが「終了後」、このフラグAの内容によって、処理Bを実行したい。
    例)ボタンクリックイベント→処理B
      テキストチェンジイベント→処理B
    ※各コントロールのイベントには、フラグAの判定処理を組み込まない

上記の処理は、ASP.NETであれば、Page_PreRenderイベントを利用することで実現できました。
Windowsアプリケーションには、ASP.NETにおける、Page_PreRenderイベントのようなものは存在するでしょうか。
存在しなければ、どのような方法で上記の処理を実現できるでしょうか。

以上、どうぞよろしくお願い致します。

A 回答 (2件)

根本的にアプリケーションの構造が違うので同じ処理はありません



Webアプリの場合
1 クライアントがページを要求
2 サーバーが要求によるページを構築
3 クライアントにページ内容を送信
4 クライアントでページが表示される

2の処理において ページを構築する前処理が Page_PreRenderになると思います

Windowsアプリにおいて似たような処理は Window作成時のイベントだろうと考えます
しかし一度作成されたウィンドウが破棄されずにその中のコントロールので発生したイベントに対してご希望のような処理は無いかと思います

# 現実的では無いですが
使用するコントロールをUserコントロールでラップして
そのコントロールの公開イベントの内部処理において所定の処理を実効出来るようにする
といった方法が考えられます

一般的な解決方法なら
コントロールのイベント処理毎に自前のイベントハンドラを記述して
AddHandlerでコントロールのイベントとハンドラを紐付けします
自前ハンドラで希望のフラグ処理などを行ってから 引数senderで判断して 本来のイベントハンドラを処理実行といった具合でしょう
    • good
    • 0
この回答へのお礼

redfox63さん

丁寧な解説、恐縮です。
Windowsアプリでは構造上無理、ということを明解にご教示頂いたので、気持ちを切り替えて、違ったアプローチを試みることができそうです。
ご紹介頂いた方法を、これから試してみようと思います。
ご回答どうもありがとうございました。

お礼日時:2008/04/15 22:51

こんばんは


なぜ
>※各コントロールのイベントには、フラグAの判定処理を組み込まない
なのでしょう?修正範囲が沢山になるとかでしょうか?
質問の内容からすると

処理BでフラグAを判断

で良さそうですがだめですか?
    • good
    • 0
この回答へのお礼

gab_snowさん

>修正範囲が沢山になるとかでしょうか?
ご推察のとおりです。
なかなか手間がかかりそうな作業を抱えていまして。。

>処理BでフラグAを判断
申し訳ありません、質問がわかりづらいものであったかもしれません。
仰る通りの処理を実現したいと考えていました。
しかし、処理Bへ遷移する方法がわからなかった次第です。

ご回答どうもありがとうございました。

お礼日時:2008/04/15 22:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!