private void toolStripButton1_Click(object sender, EventArgs e) { var ctl = (ControlFileSpecification)this.controlFileSpecificationBindingSource.List.OfType <ControlFileSpecification>().FirstOrDefault(); var term = (TerminationAndEnclosureSpecification)this.terminationAndEnclosureSpecificationBindingSource.List.OfType <TerminationAndEnclosureSpecification>().FirstOrDefault(); // collect all data files and add them to the ControlFileSpecification. var dataFiles = this.fileModelBindingSource.List.OfType <DataFileSpecification>(); foreach (var item in dataFiles) { ctl.DataFiles.Add(item); } var builder = new FileBuilder() .SetControlFile(ctl) .SetTerminationAndEnclosure(term); if (ctl.IsDelimited) { var items = this.delimitedFieldSpecificationBindingSource.List.OfType <FieldModel>(); foreach (var item in items) { if (string.IsNullOrWhiteSpace(item.Name)) { continue; } builder.AddField(item); } } else { var fixeditems = this.fixedSizeFieldSpecificationBindingSource.List.OfType <FixedSizeFieldModel>(); foreach (var item in fixeditems) { if (string.IsNullOrWhiteSpace(item.Name)) { continue; } builder.AddField(item); } } this.textBox1.Text = builder.Build(); }