tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルイベントの発行手順
記事No8855
投稿日: 2009/04/08(Wed) 21:23
投稿者コンタクト
開発環境。

いつもお世話になっております。
前回イベント発行で問題を解決させる方向でまとめましたが

イベントについてお聞きしたいことがあります。

webやヘルプで記述されているイベントの発行手順に従い

イベントハンドラ
sub A Class
Friend WithEvent Fe As B 

public sub FE_e(s) Handle FE.e
Label1 = s 'Breakを置いても通過しない。
End sub

End Class

イベントソース
sub B Class
public EVENT e(s)
Dim dh 'スレッドの宣言

スレッド内処理
system・・・sleep(1000)
RaiseEvent e(s)
End Class

という手順で設定しましたが
Formでイベントの受け取りが行われていないようです。

イベント発行と受け取りにはHelp以外にどのような手順が必要なのでしょうか。

[ツリー表示へ]
タイトルRe: イベントの発行手順
記事No8857
投稿日: 2009/04/09(Thu) 16:40
投稿者るしぇ
> 開発環境。
↑書き忘れ?

提示のコードだけだと
A.Fe は空っぽ(Nothing)のままじゃないの?
オブジェクトの実体(インスタンス)を生成してください。

Timer もクラスです。Timer.Tick イベントが用意されています。
・クラス B → クラス Timer
・イベント e(s) → イベント Tick
で、クラスもイベントも自作の必要がありません。

プログラムに対する知識を深めた上でクラスやイベントを
自作するのは素晴らしいと思いますが、既存のクラスや
イベントもうまく利用できていないように見えます。
まずは、既存の部品を利用してクラスやイベントに慣れて
みては?

既存の部品はそれが必要とされるからその形になっています。
それを学んでください。

[ツリー表示へ]
タイトルRe^2: イベントの発行手順
記事No8858
投稿日: 2009/04/09(Thu) 21:43
投稿者コンタクト
開発環境VB2005
書き忘れました。すみません

スレッドの勉強ということで
他クラスのスレッドでイベントを発生
そのイベントをFormで受け取り
Labelの値を更新するという動作を行いたいです。

既存のイベントは使用しないで
イベントの流れを理解したいと思っています。

Bクラスでイベントを発行して
Aクラスで受け取るのに、WithEventでインスタンスして
Aクラスで関数?を作成し。Bクラスのハンドルを渡しましたが
関数が実行されないので行き詰っています。

今一度、イベント発生の流れを確認してみます。

[ツリー表示へ]