タイトル : Re: VB2005、クラス、フォーム間の連携について 投稿日 : 2008/07/10(Thu) 13:14 投稿者 : 魔界の仮面弁士
案1) Trace クラスのような実装にする。 → Trace の場合、.Listeners.Add() でログの出力先 (ファイル/イベントログ/コンソール/DB/コントロール等)を指定できますね。 案2) BackgroundWorker クラスのような実装にする。 → 進捗状況に応じて、ProgressChanged イベントが発生しますよね。それと同様、 ログが生成される際に何かイベントを発生させるようにしておき、フォーム側は そのイベントを用いて、TextBox への表示を行うような処理を書くとか。 案3) データバインドのような実装にする。 → たとえば DataGridView1.DataSource = Me.Controls などとすると、 フォーム配下のコントロールの一覧が、DataGridView に表示されますよね。 そして、グリッドに表示された中から、TextBox 行の Text 列の情報を ユーザーが書き換えると、実際の Text プロパティも更新されますよね。 それと同様、自作クラスには最初に出力先となるコントロールを渡しておき、 実際の出力操作を、そこにログ出力を行わせるようにする、と。 |