Вопрос новичка, но как я узнаю, когда событие в другой форме закончилось?
У меня есть форма входа в систему, и пользователь входит в систему, проводя пальцем по своей RFID-метке.
У меня также есть раздел в приложении (win Forms), где пользователь-администратор может добавлять дополнительных пользователей в систему и назначать им тег(для входа в систему)
Мое событие TagRead запускается при входе в систему, и я не вижу смысла закрывать соединение с читателем после входа в систему только для того, чтобы снова открыть его в другой форме в том же приложении.
Проблема заключается в моей форме AddUser, когда я сканирую тег для проверки пользователю, событие TagRead запускается в форме входа в систему (где было установлено соединение)
Так что же мне делать?
Попробуйте прослушать окончание события в форме входа в систему, а затем прочитать данные тега на AddUser? могу ли я вызвать событие чтения в форме AddUser?
Что я уже пробовал:
Я прочитал о делегатах и попытался создать делегата в форме входа для события TagRead, а затем назначить это событие методу в форме AddUser
LOGIN_Frm
public delegate void EventHandler(object sender, TagReadEventArgs e); EventHandler EventHandlerDelegate; public event EventHandler Read { add { this.EventHandlerDelegate += value; } remove { this.EventHandlerDelegate -= value; } } private void Reader_OnTagRead(object sender, TagReadEventArgs e) { tags.Add(e.RrfidTag); BindList(); if (this.EventHandlerDelegate != null) { EventArgs e2 = new EventArgs(); // pass along this new EventArgs object object[] args = new object[] { sender, e }; foreach (Delegate handler in this.EventHandlerDelegate.GetInvocationList()) { handler.DynamicInvoke(args); if (e.Handled) break; } } }
Программы ФРМ
Login frmLogin = new Login(); this.frmLogin.Read += new ControlTestApp.Login.EventHandler(this.Reader_OnTagRead); private void Reader_OnTagRead(object sender, TagReadEventArgs e) { //Do stuff here to get tag info }
но это все равно не запускает событие/метод в форме добавления пользователя
У меня нет события на AddUser, которое может вызвать событие при входе в систему, мне нужно либо войти, чтобы сказать: "Эй, я только что прочитал тег", либо мне нужно, чтобы AddUser сказал: "Вы уже прочитали тег? как насчет сейчас?"
nitrous_007
Привет,
Меня смущает описание вашей проблемы. Удалите все, что касается вашего конкретного приложения - помните, что вы не хотите рассказывать нам об этом. Придерживайтесь только описания кода. Например. У меня есть форма 1, которая открывает форму 2. Когда я нажимаю кнопку на Form2, я хочу, чтобы она вызвала четность в Form1 и т. д.