.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Beginner question - How to index though documentmanger collection?

2 REPLIES 2
SOLVED
Reply
Message 1 of 3
aksaks
373 Views, 2 Replies

Beginner question - How to index though documentmanger collection?

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

 

 

2 REPLIES 2
Message 2 of 3
SENL1362
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);


Message 3 of 3
aksaks
in reply to: SENL1362

Very informative .Thank you. 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost