Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C#]MessageBox da un form child dopo un lancio d'evento

    Salve,

    io ho una piccola stranezza che non capisco e spero col titolo di averla riassunta abbastanza.... allora:

    ho un form Mdi a tutto schermo;

    ho un form child all'interno di tale form che fa partire su un altro thread un oggetto che deve fare tutta una serie di operazioni impegnative;

    tale oggetto, in caso di lavoro completato/cancellato, lancia un evento di report LauncherEventHandler;

    tale evento viene gestito da un metodo nel form che fa una cosa del tipo:

    codice:
    if(risultato)
    {
       //do something
    }else{
       OperationError(messaggio)
    }
    
    
    ......
    
    private void OperationError(string msg)
    {
       MessageBox.Show(msg)
    }

    Detto ciò la messagebox me la mostra correttamente, solo che me la mette DIETRO al form MDi Padre... quindi di fatto non si vede se non minimizzando il form suddetto...

    due domande quindi:

    1) ma succede così perchè la chiamata veniva da un alto thread? (considerando che se invece ci metto un pulsante nella form child con un messagebox, si vede tranquillamente...)

    2) c'è un modo per forzarlo a farlo vedere in primo piano?


    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da Santino83_02
    1) ma succede così perchè la chiamata veniva da un alto thread? (considerando che se invece ci metto un pulsante nella form child con un messagebox, si vede tranquillamente...)
    E' possibile.

    Originariamente inviato da Santino83_02
    2) c'è un modo per forzarlo a farlo vedere in primo piano?
    Guarda tutte le versioni del metodo Show di MessageBox: alcuni prevedono la specificazione di un parametro con cui indicare una ownership per la finestra di dialogo, se non ricordo male.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    no non va lo stesso, anzi se metto l'owner si pianta l'applicazione

    fa niente non uso il messagebox tanto posso farne a meno
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da Santino83_02
    fa niente non uso il messagebox tanto posso farne a meno
    Non vorrei che il risultato ottenuto sia sintomo di qualche errore architetturale nell'applicazione.
    Questo vuol dire che, magari, procedendo oltre evitando di usare MessageBox perché un problema influisce sul suo corretto funzionamento, non si esclude che lo stesso problema - ancora sconosciuto - possa in futuro generare altri comportamenti anomali dell'applicazione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Originariamente inviato da alka
    Non vorrei che il risultato ottenuto sia sintomo di qualche errore architetturale nell'applicazione.
    mah sai, io da un thread secondario faccio fare un'operazione onerosa, al termine della quale lancio un evento a cui è stato legato un handler con una funzione nel form che, appunto, fa partire il MessageBox...con questa architettura fa sto giochetto che ti ho detto.... se sia un errore o meno, non saprei dirlo e ora non saprei neanche come risolverlo...non avendo tempo di pensarci, uso un'altra soluzione, poi magari ci torno su




    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.