2016-10-01 3 views
0

フォームと一連のクラスで構成されるVB.Netアプリケーションを作成しました。 1つのクラス(GUI)には、フォーム上のコントロールに関連付けられたロジックを処理するすべてのルーチンが含まれています。これらのコントロールはデザイン時に配置されます。VB.NetクラスのクラスとWithEventsの問題

私は、フォーム上のいくつかのタイマーに問題があります。

Private WithEvents timerScreenUpdate As Timer 
Private WithEvents timerDebug As Timer 

が、私は、この行でエラーを取得しています:彼らは、このようにGUIクラスで宣言されている

Private Sub timerScreenUpdate_Tick(sender As System.Object, e As System.EventArgs) Handles timerScreenUpdate.Tick 

エラーは「Eventのチックが 'が見つかりません」です。他のタイマーでも同じエラーが発生しています。

それはおそらく関連していますが、私もこのラインで同様のエラーが取得しています:

Private Sub Monitor_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing 

ある「イベント 『はFormClosing』が見つかりません」。

これらのイベントをクラスに表示させるにはどうすればよいですか?

答えて

0

System.Windows.Formsの参照と名前空間のインポートがそれぞれプロジェクトのクラスファイルで使用できることを確認してください。

これがなければ、VBは名前空間System.Timersのタイマーを使用します。これはあなたのケースでは使いたくありません。

+0

優秀な、このようなSystem.Windows.Formsを追加するPrivate WithEvents timerScreenUpdate System.Windows.Forms.Timerはタイマーエラーを取り除いています。ありがとうございました。私はFormClosingエラーを理解する必要があり、私は終わった! –

+0

フォームのデザイナーコードファイルで、フォームがフォームのタイプ(ファイルの上部にある「Inherits Form」)から派生しているかどうかを確認します。 Form型は解決できないと思う。デザイナーコードファイルにも 'Imports System.Windows.Forms'があることを確認してください。 – Waescher