2016-10-01 3 views
0

Я создал приложение VB.Net, которое состоит из формы и серии классов. Один класс (GUI) содержит все подпрограммы, которые обрабатывают логику, связанную с элементами управления в моей форме. Эти элементы управления размещаются во время разработки.VB.Net Code in class и WithEvents issue

У меня проблема с паролем таймеров на форме. Они объявлены в классе GUI таким образом:

Private WithEvents timerScreenUpdate As Timer 
Private WithEvents timerDebug As Timer 

, но я получаю сообщение об ошибке в этой строке:

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

Ошибка «Событие„Тик“не может быть найден». Я получаю ту же ошибку для другого таймера.

Это, вероятно, связано, но я также получаю подобную ошибку в этой строке:

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

Проверьте файл кода дизайнера вашей формы, будет ли ваша форма получена из формы Form ('Inherits Form' в верхней части файла). Я думаю, что это происходит, но форма Form не может быть решена. Удостоверьтесь, что theres 'Imports System.Windows.Forms' также находится в файле кода дизайнера. – Waescher