• ModSenior

    [VBNET] Programma che non prende il focus.

    Salve ho un problema nello sviluppo e controllo di un'applicazione scritta in VBNET.
    Ecco una breve sintesi.

    • Ho un programma sviluppato in .NET, che tra le altre cose può anche essere ridotto nella Try Bar,ridotto a icona, messo in secondo piano come tutti i programmi.
      Chiamiamo questo programma "UNO".

    • Un altro programma richiama questo che potrebbe essere appunto ridotto alla TryBar, ridotto a icona o anche in secondo piano.
      Chiamiamo questo programma "DUE".

    Il programma DUE tra le altre cose può richiamare il programma UNO, come ad esempio aggiungere un allegato in Thunderbird (il mio UNO).

    Il problema è dovuto al fatto che il alcuni computer la finestra del mio programma UNO non prende il focus.
    Uso il seguente codice sul mio pc nel programma "UNO" nell'evento Me.StartupNextInstance.
    Lo stesso codice che uso per ripristinare la finestra quando il programma è ridotto a trybar.

    Form.Visible = True
    Form.ShowInTaskbar = True
    Form.Activate()
    Form.WindowState = FormWindowState.Maximized

    Da me funziona tutto perfettamente, mentre su altri succede una cosa anomala, viene messo l'icona nella barra ma il programma "Selezionato / Incassato" nella barra resta sempre il programma "DUE" e naturalmente il programma "UNO" resta in secondo piano.

    Come mai questa differenza???

    Il sistema operativo sembra essere indifferente in quanto su alcuni va dove c'è XP e W7 e su altri no.
    I framework installati sono dal 2.0 fino al 3.5.
    Per lo sviluppo VS2005.

    Se metto TOPMOST = True la finestra del programma UNO viene in primo piano, ma nella barra delle applicazioni resta selezionato il programma chiamante ("DUE").

    Avete idee?