Meddelande

Minska
No announcement yet.

Visa meddelanderuta när en process körs?

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Visa meddelanderuta när en process körs?

    Finns det nåt bra sätt att få fram en meddelande ruta, medan nån process körs i Visual Basic Net 2010?

    Denna meddelanderuta skall försvinna efter att processen har körts.

  • #2
    Kod:
    Dim alert As New AlertForm()
    alert.Show()
    ' gör det du ska...
    alert.Close()
    Eller det allra bästa, använd BackgroundWorker
    Om jag var blygsam,skulle jag vara perfekt
    ><((((º>

    Kommentera


    • #3
      Måste känna mig väldigt snäll idag. (eller om det beror på att det inte var något att ha på tv)
      Skrev ihop en liten enkel demo app för att visa hur man kan göra en "progress alert" i en WinForm.

      Koden finns att läsa eller ladda ner
      Bifogade filer
      Om jag var blygsam,skulle jag vara perfekt
      ><((((º>

      Kommentera


      • #4
        Tack för svaren. Men jag behöver endast en ruta, som säger följande "Var god och vänta! Det kan ta en stund!". När processen är klar så försvinner rutan. Jag har fått det nästan att fungera men i stället för texten, så syns endast vitt område där texten borde uppenbara sig.

        Är det nånting fel i koden?

        Kod:
        Dim Alert As New Form()
        Dim AlertText As New Label()
        
        Alert.Text = "Visa status"
        Alert.MaximizeBox = False
        Alert.MinimizeBox = False
        AlertText.AutoSize = True
        AlertText.BackColor = Color.Black
        AlertText.ForeColor = Color.White
        AlertText.Text = "Var god och vänta! Det kan ta en stund!"
        AlertText.Location = New Point(50, 50)
        Alert.Controls.Add(AlertText)
        Alert.Show()
        
        processen körs
        
        Alert.Close()

        Kommentera


        • #5
          Testa Alert.Update() efter Alert.Show().

          Problemet är nämligen att formuläret aldrig får någon chans att rita sig självt och sina kontroller eftersom du inte behandlar fönstermeddelanden under processens gång.
          Olof Lagerkvist
          LTR Data
          http://www.ltr-data.se

          Kommentera


          • #6
            Det är just pga sånt som man ska använda backgroundworker.
            Så jag tycker du ska använda backgroundworker, du behöver ju inte använda ProcessChanged eventet. Kör din process i DoWork eventet och släck din meddelanderuta i RunWorkerCompleted eventet.
            Om jag var blygsam,skulle jag vara perfekt
            ><((((º>

            Kommentera

            Working...
            X