Salve a tutti, sto utilizzando i PIA per visualizzare presentazioni powerpoint nella mia applicazione.
Sto riscontrando però alcune difficoltà:
La prima deriva dal fatto che ho la necessità di capire quando una presentazione è finita (non quando la presentazione viene chiusa, ma quando giungo all'ultima slide).
Per ora ho usato un escamotage che però non mi soddisfa molto:
codice:
private int slide = 0;
//altro codice
p.SlideShowSettings.Application.SlideShowNextSlide += new Microsoft.Office.Interop.PowerPoint.EApplication_SlideShowNextSlideEventHandler(Application_SlideShowNextSlide);
void Application_SlideShowNextSlide(Microsoft.Office.Interop.PowerPoint.SlideShowWindow Wn)
{
slide++;
if (slide > Wn.Presentation.Slides.Count)
{
slide = 0;
try
{
lblTitolo.Text = "prova";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Ora in questo modo riesco a capire quando sono arrivato all'ultima slide, però mi viene generata un eccezione alla riga
lblTitolo.Text = "prova";
in particolare mi dice che non posso operare su lblTitolo perchè è stato creato in un altro thread.
Qualcuno saprebbe come risolvere?
Devo forse usare i delegate e invoke?
Ah se qualcuno conosce un metodo migliore per individuare la fine della presentazione me lo dica^^
grazie in anticipo per l'aiuto