// The method which fires the Event private void FireTheUpdatedMessageEvent(ComPortChangeEventType eventType) { if (ComPortChangeEventHandler != null) { ComPortChangeEventHandler(this, new ComPortChangeEventHandlerArgs(eventType, SerialPorts)); // 觸發StatusMessage_EventArgs 事件 } }
/// <summary> /// Dynamically populates the SerialPorts property with relevant devices discovered from the WMI Win32_SerialPorts class. /// </summary> private void DiscoverDevices(ComPortChangeEventType changeEventType) { // Create a temporary dictionary to superimpose onto the SerialPorts property. try { //_serialPorts = FindingNonVirtualSerialPorts(); _serialPorts = FindingUSBVirtualSerialPorts(); FireTheUpdatedMessageEvent(changeEventType); } catch (ManagementException) { //throw; // Send a message to debug. //Debug.WriteLine(@"An error occurred while querying for WMI data: " + mex.Message); } }
public ComPortChangeEventHandlerArgs(ComPortChangeEventType eventType, Dictionary <string, string> dict) { ChangeEventType = eventType; DictMessage = dict; }