Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
Hi Guys,
 
I have a DLL loaded into a 3rd Party application (AutoCAD). Once loaded i can trigger commands to load winforms to do things with in AutoCAD.
 
One of my commands loads a dialog.
 
How I Test if that Dialog is already running and not load the Winform again and just make it active / on top of all other applications?
 
Thanks in advance.
 
Stephan
Posted 11-Jan-13 17:56pm

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Hi Stephan,
 

if you want to find particular form is already opened or active. i thing the following may help you.
 
List<MyForm> CurrentActiveForms = System.Windows.Forms.Application.OpenForms.OfType<MyForm>().ToList();
if(CurrentActiveForms.Count == 0)
{
	// No match form found !!!!
	// request a new form to open
	return;
}
 
// do your stuff here........
MyForm DesireForm = CurrentActiveForms.FirstOrDefault(I => I.MyCondition == myCondition);
 
Or
 
MyForm DesireForm = CurrentActiveForms[0];
 
if (DesireForm != null || DesireForm.IsDisposed == false)
{
    DesireForm.focus();
}
  Permalink  
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 8,284
1 Sergey Alexandrovich Kryukov 7,327
2 DamithSL 5,614
3 Manas Bhardwaj 4,986
4 Maciej Los 4,920


Advertise | Privacy | Mobile
Web03 | 2.8.1411023.1 | Last Updated 10 May 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100