Click here to Skip to main content
11,493,687 members (60,577 online)
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 Sergey Alexandrovich Kryukov 408
1 F-ES Sitecore 244
2 Maciej Los 241
3 CPallini 233
4 Nakul Chaudhari 225
0 Sergey Alexandrovich Kryukov 10,237
1 OriginalGriff 8,730
2 Sascha Lefèvre 3,664
3 Maciej Los 3,392
4 Richard Deeming 2,500


Advertise | Privacy | Mobile
Web01 | 2.8.150520.1 | Last Updated 10 May 2013
Copyright © CodeProject, 1999-2015
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