Обработка событий PCOMM в приложении Windows FormsC#

Место общения программистов C#
Anonymous
 Обработка событий PCOMM в приложении Windows Forms

Сообщение Anonymous »

Есть ли способ зарегистрировать /ловить события PCOMM в приложении Windows Forms? Все работает нормально.
Как только соединение установлено, мне нужно знать, закрыл ли пользователь /отключил соединение в приложении PCOMM.
Обработчики событий, предоставленные в библиотеке Interop Они ожидают, что события будут зарегистрированы еще до загрузки формы. События < /p>
Самый простой пример из образца приложения консоли: < /p>
AutPSTypeLibrary.AutPS _ps = new AutPSTypeLibrary.AutPS();
_ps.NotifyPSEvent += new IPSEvent_NotifyPSEventEventHandler(CallPSEvent);
connMgr.StartSessionByWSFile(); // This is a private method, which opens a session connection using ws profile file.
_ps.SetConnectionByName("A");
_ps.RegisterPSEvent(true);
System.Windows.Forms.Application.Run(); // blocking call in the console application
< /code>
Из -за блокирующего вызова в приложении консоли события правильно запускаются в приложении консоли. < /p>
Я не могу сделать это Работайте в приложении Windows Forms, когда я пытаюсь установить события после Application.Run () из программы запуска. < /p>
Есть ли способ сделать эту работу, спасибо за любую помощь ! < /p>
добавлен Код конструктора формы, как и задание. < /P>
public partial class PCOMM : Form
{
AutPS _ps = new AutPS();
public PCOMM()
{
InitializeComponent();
AutPSTypeLibrary.AutPS _ps = new AutPSTypeLibrary.AutPS();
_ps.NotifyPSEvent += new IPSEvent_NotifyPSEventEventHandler(CallPSEvent);
connMgr.StartSessionByWSFile(); // This is a private method, which opens a session connection using ws profile file.
_ps.SetConnectionByName("A");
_ps.RegisterPSEvent(true);
}
}
public class StartUp
{

[STAThread]
public static void Main(string[] args)
{

PCOMM ps = new PCOMM();
Application.Run(ps);
}

}


Подробнее здесь: https://stackoverflow.com/questions/794 ... pplication

Вернуться в «C#»