Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    85

    C# - Windows Form: Applicazione in primo piano

    Ciao a tutti,
    sto realizzando un mini-programmino, che deve rimanere in esecuzione e periodicamente, ogni 10-15 minuti, deve controllare se sono presenti dei nuovi dati nel db.

    Mentre normalmente rimane visibile con icona nella parte in basso a destra dello schermo (vicino all'ora del pc tanto per capirci), vorrei che sotto particolari condizioni il programma spunti fuori in primo piano (come un fastidioso popu per capirci).

    Ho usato this.show e this.Activate, ed effettivamente nella barra delle applicazioni compare, ma io ho proprio necessità che diventi in primo piano rispetto alle altre attività dell'utente, altrimenti l'utente evasivo se ne frega e non fa ciò che dovrebbe.

    E' possibile fare una cosa del genere? Ci sono istruzioni particolari da utilizzare?

    Grazie,
    saluti!

  2. #2
    Utente di HTML.it L'avatar di Typo
    Registrato dal
    Apr 2012
    Messaggi
    89
    Ciao.

    Dovrebbe essere sufficiente impostare lo stato del form come normal e poi chiamare Bring to Front

    codice:
     Me.WindowState = FormWindowState.Normal
            Me.BringToFront()
    è VB.NET trasformarlo in C# è semplice ma non voglio farlo io che me ne intendo poco e ti faccio casino =P.


    PS: L'ho provato con un form ed un timer, portando ad icona il form dopo 5 sec. ( il tick del timer ) il form mi viene sopra il browser e office

  3. #3
    Se tutto quello che devi mostrare è una notifica, potresti implementarla come un baloon che spunta dall'iconcina di notifica (metodo NotifyIcon.ShowBaloonTip), in modo che venga notato ma non rompa troppo le scatole.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    85
    Grazie Typo!
    Era proprio così, funziona!
    Per la cronaca e per chi capiterà su questo post, la versione C# è questa:

    codice:
    this.WindowState = FormWindowState.Normal;                 this.BringToFront();
    Per MItaly: prendo nota del tuo suggerimento, mi tornerà sicuramente utile.
    In questo caso specifico devo fare il "rompiscatole" e fare una cosa vistosa, alrimenti l'operatore trascurerebbe quell'attività. Inoltre il messaggio dovrebbe emergere su un vecchio programma in vb6 a tutto schermo che non permette di vedere la barra delle applicazioni. In realtà si vedrebbe cliccando sul pulsante Windows della tastiera, ma l'operatore non saprebbe farlo o comunque non lo farebbe.

    Grazie ad entrambi!

  5. #5
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.