private DeviceForm GetActiveDeviceForm()
{
DeviceForm deviceForm = null;
if (InvokeRequired)
{
try
{
Invoke((Delegate)new GetActiveDeviceFormDelegate(GetActiveDeviceForm));
}
catch { }
}
else
{
m_mutex.WaitOne();
foreach (Control control in plDevice.Controls)
{
if (control.GetType().BaseType == typeof(Form))
{
Form form = control as Form;
if (form != null && form.Visible)
{
deviceForm = (DeviceForm)form;
break;
}
}
}
m_mutex.ReleaseMutex();
}
return deviceForm;
}