.NET

.NET

Reply
Valued Contributor
aksaks
Posts: 93
Registered: ‎03-23-2009
Message 1 of 3 (148 Views)
Accepted Solution

Beginner question - How to index though documentmanger collection?

148 Views, 2 Replies
11-16-2011 11:49 AM

How does one index the documents in the documentmanger collection? The intent is to cycle through the open documents one by one in a forwards or backwards direction. The specific function I want to create would take a direction argument, 1 or -1, and would switch the active document to the "next" or the "previous" document. Obviously I do not understand how the documentmanager collection works, so I could use a pertinent example to help me out please. I see how to For Each through the collection, but that is not the intent.  

 

Thank you, aks

 

 

Mentor
SENL1362
Posts: 166
Registered: ‎07-20-2011
Message 2 of 3 (127 Views)

Re: Beginner question - How to index though documentmanger collection?

11-17-2011 03:40 AM in reply to: aksaks

 

 

Looking for this ?

...

using System.Linq;

..

 

            Document doc = Application.DocumentManager.MdiActiveDocument;
            Editor ed = doc.Editor;

            ed.WriteMessage("\n{0} Documents open", Application.DocumentManager.Count);

            var theDocs = Application.DocumentManager.Cast<Document>().ToList();
            ed.WriteMessage("\n{0} Documents open", theDocs.Count);

            int indx=theDocs.IndexOf(doc);
            ed.WriteMessage("\nCurrent Document {0}, has Index={1} in List", doc.Name,indx);

            indx = (theDocs.IndexOf(doc) + theDocs.Count - 1) % theDocs.Count;
            ed.WriteMessage("\nPrevious Index={0} is {1}", indx, (theDocs.ElementAt(indx)).Name);

            indx = (theDocs.IndexOf(doc) + theDocs.Count + 1) % theDocs.Count;
            ed.WriteMessage("\nNext Index={0} is {1}", indx, (theDocs.ElementAt(indx)).Name);


Valued Contributor
aksaks
Posts: 93
Registered: ‎03-23-2009
Message 3 of 3 (107 Views)

Re: Beginner question - How to index though documentmanger collection?

11-17-2011 11:26 AM in reply to: SENL1362

Very informative .Thank you. 

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.