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

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

Сообщение Anonymous »

Есть ли способ зарегистрировать/поймать события PCOMM в приложении Forms Windows? в форме. Все работает нормально.
Как только соединение установлено, мне нужно знать, закрыт ли пользователь/отключил соединение в приложении PCOMM.
Обработчики событий, представленные в библиотеке Interop, кажется, не работают, так как они ожидают, что события будут зарегистрированы еще до загрузки формы. код приложения и его Ожидается, что соединение будет установлено перед регистрацией событий < /p>
Простейший пример из приложения консоли: < /p>
AutPSTypeLibrary.AutPS _ps = new AutPSTypeLibrary.AutPS();
_ps.NotifyPSEvent += new IPSEvent_NotifyPSEventEventHandler(CallPSEvent);

// This is a private method, which opens a session connection using ws profile file.
connMgr.StartSessionByWSFile();

_ps.SetConnectionByName("A");
_ps.RegisterPSEvent(true);

// blocking call in the console application
System.Windows.Forms.Application.Run();
< /code>
Из -за блокирующего вызова в приложении консоли события правильно запускаются в приложении консоли. < /p>
Я не могу сделать это Работайте в приложении Windows Forms, когда я пытаюсь установить события после Application.run () из программы запуска.
Есть ли способ сделать эту работу? Спасибо за помощь! < /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#»