MyProjectElement File1 = this.Project.Elements[0]; MyProjectElement File2 = this.Project.Elements[1]; MyProject my1 = (MyProject)File1; MyProject my2 = (MyProject)File2; PageCount_F1 = my1.PageCount; PageCount_F2 = my2.PageCount; if(PageCount_F1 != PageCount_F2) { MessageBox.Show("The 2 files need to have the same file length", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { my1.IncludeAllPages = false; my2.IncludeAllPages = false; for(int i = 1; i <= PageCount_F1; i++) { StringBuilder value1 = new StringBuilder(); StringBuilder value2 = new StringBuilder(); value1.Append(i.ToString()); value2.Append((PageCount_F2 - i + 1).ToString()); MyProject my1new = new MyProject(); MyProject my2new = new MyProject(); my1new.Pages = value1.ToString(); my2new.Pages = value2.ToString(); my1.Pages = my1new.Pages; my2.Pages = my2new.Pages; this.Project.Elements.Add((MyProjectElement)my1); this.Project.Elements.Add((MyProjectElement)my2); ((MyProject)this.Project.Elements[1]).Pages.Remove(0); ((MyProject)this.Project.Elements[i]).Pages.Remove(0); ((MyProject)this.Project.Elements[1]).Pages = "1"; ((MyProject)this.Project.Elements[PageCount_F2 - i + 1]).Pages = (PageCount_F2 - i + 1).ToString(); ((MyProject)this.Project.Elements[i-1]).Pages.Remove(0); ((MyProject)this.Project.Elements[i]).Pages.Remove(0); ((MyProject)this.Project.Elements[i - 1]).Pages = i.ToString(); ((MyProject)this.Project.Elements[i]).Pages = (PageCount_F2 - i + 1).ToString(); } }