public void DeviceFormClose(bool closeDevice)
{
if (closeDevice && !formClosing)
{
formClosing = true;
CloseActiveDevice(this, null);
}
threadMgr.PauseThreads();
threadMgr.WaitForPause();
threadMgr.ClearQueues();
commMgr.ClosePort();
if (processRxProc != null)
while (processRxProc.IsAlive)
;
msgLogForm.ResetMsgNumber();
threadMgr.ExitThreads();
SaveUserSettings();
}