Grazie vedrò di comprendere meglio la cosa
Continuo a non comprendere questa necessità ineludibile di accedere alla UI a tutti i costi.
questo essenzialmente è lagato alla mia incapacità di fare altro, non sapendo come per il mio caso come poter inviare i dati senza farli passare per i vari stampa() presenti nei vari form
Di seguito un esempio di uno stampa() presente in un form
#region STAMPA
public void stampa()
{
int font_size_testo = 10;
int font_size_tab_trasp = 10;
int font_size_tab = 7;
int font_size_tab_max = 8;
string tipo_font_testo = "Times New Roman";
string tipo_font_tab_trasp = "Times New Roman";
string tipo_font_tab = "Times New Roman";
//1cm = 28.41091f
//WordDocument doc = new WordDocument();
//Add a section & a paragraph in the empty document
//document.EnsureMinimal();
//Aggiungi nuova sezione
//f1.pag = f1.doc.AddSection(); //permette di creare nuova pagina inserendo in essa tutti i dati selezionati sotto
//Secifica margini 1cm = 28.41091f
//f1.pag.PageSetup.Margins.All = 42.6f; //1.5cm
//aggiungo paragrafo (riga di testo)
IWParagraph par = f1.pag.AddParagraph();
#region DATI GEOMETRICI
if (f1.odocx.dati_gen_ck.Checked)
{
IWTextRange testo1 = par.AppendText(descr_tb.Text + "\n\n" + "DATI GEOMETRICI\n\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = true;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
testo1 = par.AppendText("Lunghezza libera d'inflessione L0,y = " + L0y_tb.Text + " m\n" + "Lunghezza libera d'inflessione L0,z = " + L0z_tb.Text + " m\n"
+ "Lunghezza efficace Leff = " + Leff_tb.Text + " m\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = false;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
if (sez_comp_ck.Checked)
{
if (comp_y_rb.Checked)
{
testo1 = par.AppendText("\nSezione composta lungo Y\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = false;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
}
else
{
testo1 = par.AppendText("\nSezione composta lungo Z\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = false;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
}
testo1 = par.AppendText("\nDati montanti\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = true;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
testo1 = par.AppendText("Numero di elementi : " + n_mont_tb.Text + "\n" + "Tipo di distanziatori : " + distanz_tb.Text + "\n" + "a = " + a_tb.Text + " cm\n" +
"l1 = " + l1_tb.Text + " cm\n" + "l2 = " + l2_tb.Text + " cm\n" + "Tipo di connessioni tra distanziatori : " + connes_tb.Text + "\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = false;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
}
//TABELLA
//aggiungi tabella
IWTable tabella = f1.pag.AddTable();
tabella.TableFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.None;
//Creare il numero specifico di righe e colonne
int rig = 1;
int col = 3;
tabella.ResetCells(rig, col);
/*- Inserire sceglie la cella di riferimento impostando la variabile cella dopo averla creata da WtableCell, va creata una sola volta
*- aggiungere una riga (paragrafo alla cella creata e non alla pagaina come nel caso sopra delle righe.
*- inserire il testo da mettere nelle celle creando variabile testo celle tramite IWTextRange (va fatto solo per la prima volta
*- inserire le righe con le impostazioni del testo
*
*- ripetere per tutte le colonne senza creare nuove variabili
*
* E' possibile usare il comando cella.Whidt se voglio impostare la dimensione specifica di una cella e successivamente in altra cella (es . 0;1)
* il comando tabella.TableFormat.IsAutoResized = true; per rendere con allineamento automatico l'altra (questa forse è meglio inserirla alla fine.
*
*/
#region DATI GEOMETRICI SEZ A
if (f1.odocx.dati_A_ck.Checked)
{
WTableCell cella = tabella.Rows[0].Cells[0];
//larghezza 10 = 0.35cm, 1cm = 28.57
//cella.Width = 40;
//tabella.TableFormat.IsAutoResized = true;
cella.CellFormat.VerticalAlignment = VerticalAlignment.Top;
par = cella.AddParagraph();
par.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Left;
//E' opportuno dal secondo in poi inserire \n\n
IWTextRange testo_celle = par.AppendText("Sezione A\n");
testo_celle.CharacterFormat.Bold = true;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("B = " + Bz_seza_tb.Text + " cm\n" + "H = " + Hy_seza_tb.Text + " cm\n\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
if (fori_seza_ck.Checked)
{
testo_celle = par.AppendText("Sezione ridotta per fori/Intagli\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("B rid = " + Brid_seza_tb.Text + " mm\n" + "H rid = " + Hrid_seza_tb.Text + " mm\n\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
testo_celle = par.AppendText("A = " + A_seza_tb.Text + " mm²\n" + "Jy = " + Jy_seza_tb.Text + " mm4\n" + "Jz = " + Jz_seza_tb.Text + " mm4\n" +
"Wy = " + Wy_seza_tb.Text + " mm³\n" + "Wz = " + Wz_seza_tb.Text + " mm³\n" + "iy = " + iy_seza_tb.Text + " mm\n" + "iy = " + iy_seza_tb.Text + " mm\n" +
"Jtor = " + Jtor_seza_tb.Text + " mm4\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
if (int_seza_ck.Checked)
{
if (int_inf_seza_rb.Checked)
{
testo_celle = par.AppendText("\nIntaglio inferiore\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
else
{
testo_celle = par.AppendText("\nIntaglio superiore\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
testo_celle = par.AppendText("Li = " + int_Li_seza_tb.Text + " cm\n" + "x = " + int_xi_seza_tb.Text + " cm\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
}
#endregion
#region DATI GEOMETRICI SEZ C
if (f1.odocx.dati_C_ck.Checked)
{
WTableCell cella = tabella.Rows[0].Cells[1];
//larghezza 10 = 0.35cm, 1cm = 28.57
//cella.Width = 40;
//tabella.TableFormat.IsAutoResized = true;
cella.CellFormat.VerticalAlignment = VerticalAlignment.Top;
par = cella.AddParagraph();
par.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Left;
//E' opportuno dal secondo in poi inserire \n\n
IWTextRange testo_celle = par.AppendText("Sezione C\n");
testo_celle.CharacterFormat.Bold = true;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("B = " + Bz_sezc_tb.Text + " cm\n" + "H = " + Hy_sezc_tb.Text + " cm\n\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
if (fori_seza_ck.Checked)
{
testo_celle = par.AppendText("Sezione ridotta per fori/Intagli\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("B rid = " + Brid_sezc_tb.Text + " mm\n" + "H rid = " + Hrid_sezc_tb.Text + " mm\n\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
testo_celle = par.AppendText("A = " + A_sezc_tb.Text + " mm²\n" + "Jy = " + Jy_sezc_tb.Text + " mm4\n" + "Jz = " + Jz_sezc_tb.Text + " mm4\n" +
"Wy = " + Wy_sezc_tb.Text + " mm³\n" + "Wz = " + Wz_sezc_tb.Text + " mm³\n" + "iy = " + iy_sezc_tb.Text + " mm\n" + "iy = " + iy_sezc_tb.Text + " mm\n" +
"Jtor = " + Jtor_sezc_tb.Text + " mm4\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
#endregion
#region DATI GEOMETRICI SEZ B
if (f1.odocx.dati_A_ck.Checked)
{
WTableCell cella = tabella.Rows[0].Cells[2];
//larghezza 10 = 0.35cm, 1cm = 28.57
//cella.Width = 40;
//tabella.TableFormat.IsAutoResized = true;
cella.CellFormat.VerticalAlignment = VerticalAlignment.Top;
par = cella.AddParagraph();
par.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Left;
//E' opportuno dal secondo in poi inserire \n\n
IWTextRange testo_celle = par.AppendText("Sezione B\n");
testo_celle.CharacterFormat.Bold = true;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("B = " + Bz_sezb_tb.Text + " cm\n" + "H = " + Hy_sezb_tb.Text + " cm\n\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
if (fori_seza_ck.Checked)
{
testo_celle = par.AppendText("Sezione ridotta per fori/Intagli\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("B rid = " + Brid_sezb_tb.Text + " mm\n" + "H rid = " + Hrid_sezb_tb.Text + " mm\n\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
testo_celle = par.AppendText("A = " + A_sezb_tb.Text + " mm²\n" + "Jy = " + Jy_sezb_tb.Text + " mm4\n" + "Jz = " + Jz_sezb_tb.Text + " mm4\n" +
"Wy = " + Wy_sezb_tb.Text + " mm³\n" + "Wz = " + Wz_sezb_tb.Text + " mm³\n" + "iy = " + iy_sezb_tb.Text + " mm\n" + "iy = " + iy_sezb_tb.Text + " mm\n" +
"Jtor = " + Jtor_sezb_tb.Text + " mm4\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
if (int_sezb_ck.Checked)
{
if (int_inf_sezb_rb.Checked)
{
testo_celle = par.AppendText("\nIntaglio inferiore\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
else
{
testo_celle = par.AppendText("\nIntaglio superiore\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
testo_celle = par.AppendText("Li = " + int_Li_sezb_tb.Text + " cm\n" + "x = " + int_xi_sezb_tb.Text + " cm\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
}
#endregion
}
#endregion
#region CARATTERISTICHE MATERIALI
if(f1.odocx.car_mec_ck.Checked)
{
IWParagraph par1 = f1.pag.AddParagraph();
IWTextRange testo1 = par1.AppendText("\nCARATTERITICHE MATERIALE\n\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = true;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
testo1 = par1.AppendText("Tipo : " + tipo_tb.Text + "\n" + tipo1_tb.Text + "\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = false;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
if(sistema_qualita_ck.Checked)
{
testo1 = par1.AppendText(sistema_qualita_ck.Text + "\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = false;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
}
testo1 = par1.AppendText("Classe di servizio : " + cl_servizio_tb.Text + "\n");
//sets the font formatting of the text range
testo1.CharacterFormat.Bold = false;
testo1.CharacterFormat.FontName = tipo_font_testo;
testo1.CharacterFormat.FontSize = font_size_testo;
//TABELLA
//aggiungi tabella
IWTable tabella = f1.pag.AddTable();
tabella.TableFormat.Borders.BorderType = Syncfusion.DocIO.DLS.BorderStyle.None;
//Creare il numero specifico di righe e colonne
int rig = 1;
int col = 3;
tabella.ResetCells(rig, col);
/*- Inserire sceglie la cella di riferimento impostando la variabile cella dopo averla creata da WtableCell, va creata una sola volta
*- aggiungere una riga (paragrafo alla cella creata e non alla pagaina come nel caso sopra delle righe.
*- inserire il testo da mettere nelle celle creando variabile testo celle tramite IWTextRange (va fatto solo per la prima volta
*- inserire le righe con le impostazioni del testo
*
*- ripetere per tutte le colonne senza creare nuove variabili
*
* E' possibile usare il comando cella.Whidt se voglio impostare la dimensione specifica di una cella e successivamente in altra cella (es . 0;1)
* il comando tabella.TableFormat.IsAutoResized = true; per rendere con allineamento automatico l'altra (questa forse è meglio inserirla alla fine.
*
*/
#region RESISTENZA CARATTERISTICA
if (f1.odocx.rck_ck.Checked)
{
WTableCell cella = tabella.Rows[0].Cells[0];
//larghezza 10 = 0.35cm, 1cm = 28.57
//cella.Width = 40;
//tabella.TableFormat.IsAutoResized = true;
cella.CellFormat.VerticalAlignment = VerticalAlignment.Top;
par = cella.AddParagraph();
par.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Left;
//E' opportuno dal secondo in poi inserire \n\n
IWTextRange testo_celle = par.AppendText("Resistenza Caratteristica\n");
testo_celle.CharacterFormat.Bold = true;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("f m,k = " + fmk_tb.Text + " N/mmq\n" + "f t,0,k = " + ft0k_tb.Text + " N/mmq\n" + "f t,90,k = " + ft90k_tb.Text + " N/mmq\n" +
"f c,0,k = " + fc0k_tb.Text + " N/mmq\n" + "f c,90,k = " + fc90k_tb.Text + " N/mmq\n" + "f v,k = " + fvk_tb.Text + " N/mmq\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
#endregion
#region MASSA VOLUMETRICA
if (f1.odocx.mass_ck.Checked)
{
WTableCell cella = tabella.Rows[0].Cells[1];
//larghezza 10 = 0.35cm, 1cm = 28.57
//cella.Width = 40;
//tabella.TableFormat.IsAutoResized = true;
cella.CellFormat.VerticalAlignment = VerticalAlignment.Top;
par = cella.AddParagraph();
par.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Left;
//E' opportuno dal secondo in poi inserire \n\n
IWTextRange testo_celle = par.AppendText("Massa volumetrica\n");
testo_celle.CharacterFormat.Bold = true;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("? k = " + rhok_tb.Text + " kg/mc\n" + "? mean = " + rhomean_tb.Text + " kg/mc\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
#endregion
#region MODULI ELASTICI
if (f1.odocx.E_ck.Checked)
{
WTableCell cella = tabella.Rows[0].Cells[2];
//larghezza 10 = 0.35cm, 1cm = 28.57
//cella.Width = 40;
//tabella.TableFormat.IsAutoResized = true;
cella.CellFormat.VerticalAlignment = VerticalAlignment.Top;
par = cella.AddParagraph();
par.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Left;
//E' opportuno dal secondo in poi inserire \n\n
IWTextRange testo_celle = par.AppendText("Moduli elastici\n");
testo_celle.CharacterFormat.Bold = true;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
testo_celle = par.AppendText("E 0,mean = " + E0mean_tb.Text + " N/mmq\n" + "E 0,05 = " + E005_tb.Text + " N/mmq\n" + "E 90,mean = " + E90mean_tb.Text + " N/mmq\n" +
"E 90,05 = " + E90005_tb.Text + " N/mmq\n" + "G mean = " + Gmean_tb.Text + " N/mmq\n" + "G 0,05 = " + G005_tb.Text + " N/mmq\n");
testo_celle.CharacterFormat.Bold = false;
testo_celle.CharacterFormat.FontName = tipo_font_tab_trasp;
testo_celle.CharacterFormat.FontSize = font_size_tab_trasp;
}
#endregion
}
#endregion
}
#endregion
di questi stampa ne ho altri 18, ognuno in un aspecifica form, che vengono richiamati dalla form da me fatta per la stampa passando per un metodo (che inserisco di seguto)
void stampa()
{
f1.pag = f1.doc.AddSection();
f1.pag.PageSetup.Margins.All = 42.6f; //1.5cm
if(dati_gen_ck.Checked || car_mec_ck.Checked)
f1.sem.stampa();
if (incendio_ck.Checked)
f1.sinc.stampa();
if (traz_par_ck.Checked)
{
f1.copia_dati_per_ver_traz_par();
f1.traz_par.stampa();
}
if (comp_par_ck.Checked)
{
f1.copia_dati_per_ver_comp_par();
f1.comp_par.stampa();
}
if (inst_eul_ck.Checked)
{
f1.copia_dati_per_ver_inst_euler();
f1.inst_eul.stampa();
}
if (taglio_ck.Checked)
{
f1.copia_dati_per_ver_taglio();
f1.taglio.stampa();
}
if (flex_ck.Checked)
{
f1.copia_dati_per_ver_flex();
f1.flex.stampa();
}
if (sverg_ck.Checked)
{
f1.copia_dati_per_ver_sverg();
f1.sverg.stampa();
}
if (presflex_ck.Checked)
{
f1.copia_dati_per_ver_pflex();
f1.pflex.stampa();
}
if (inst_pf_ck.Checked)
{
f1.copia_dati_per_ver_ipflex();
f1.ipflex.stampa();
}
if (tensflex_ck.Checked)
{
f1.copia_dati_per_ver_tflex();
f1.tflex.stampa();
}
if (inst_tf_ck.Checked)
{
f1.copia_dati_per_ver_itflex();
f1.itflex.stampa();
}
if (tors_ck.Checked)
{
f1.copia_dati_per_ver_torsione();
f1.tor.stampa();
}
if (tt_ck.Checked)
{
f1.copia_dati_per_ver_torsione_taglio();
f1.ttor.stampa();
}
if (comp_ort_ck.Checked)
{
f1.copia_dati_per_ver_comp_ort();
f1.comp_ort.stampa();
}
if (comp_incl_ck.Checked)
{
f1.copia_dati_per_ver_comp_incl();
f1.comp_incl.stampa();
}
if (traz_ort_ck.Checked)
{
f1.copia_dati_per_ver_traz_ort();
f1.traz_ort.stampa();
}
}
metodo che viene a sua volta richiamato all'interno di pulsante a cui sono associate lil codice sotto
private void stampa_docx_bt_Click(object sender, EventArgs e)
{
//saveFileDocx.FileName = f1.dvc.descrizione_tb.Text;
if (metodo_calc_ck.Checked)
{
string file_model = Application.StartupPath + ("\\stampa\\Nota_calcolo.docx");
string file_temp = Application.StartupPath + ("\\stampa\\stampa_inter.docx");
//avvia_backgroudWorker();
stampa(sender, e);
f1.doc.Save(file_temp);
f1.doc.Close();
WordDocument sourceDocument = new WordDocument(file_temp);
//Opens the destination document
WordDocument destinationDocument = new WordDocument(file_model);
//Imports the contents of source document at the end of destination document
destinationDocument.ImportContent(sourceDocument, ImportOptions.UseDestinationStyles);
//Saves the destination document
if (saveFileDocx.ShowDialog() == DialogResult.OK)
{
try
{
destinationDocument.Save(saveFileDocx.FileName, FormatType.Docx);
//closes the document instances
sourceDocument.Close();
destinationDocument.Close();
MessageBox.Show("Salvataggio file docx eseguito correttamente in \n\n" + saveFileDocx.FileName, "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception)
{
MessageBox.Show("DOCUMENTO DOCX APERTO CHIDERE IL DOCUMENTO E STAMPARE NUOVAMENTO", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
if (apri_stampa_ck.Checked)
{
try
{
System.Diagnostics.Process.Start(saveFileDocx.FileName);
}
catch (Exception)
{
}
}
}
else
{
if (saveFileDocx.ShowDialog() == DialogResult.OK)
{
try
{
//avvia_backgroudWorker();
stampa(sender, e);
f1.doc.Save(saveFileDocx.FileName);
f1.doc.Close();
MessageBox.Show("Salvataggio file docx eseguito correttamente in \n\n" + saveFileDocx.FileName, "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception)
{
MessageBox.Show("DOCUMENTO DOCX APERTO CHIDERE IL DOCUMENTO E STAMPARE NUOVAMENTO", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
if (apri_stampa_ck.Checked)
{
try
{
System.Diagnostics.Process.Start(saveFileDocx.FileName);
}
catch (Exception)
{
}
}
}
}