Avatar billede friiiiis Novice
01. marts 2015 - 22:12 Der er 3 kommentarer og
1 løsning

SplashScreen - progressbar

Hej,

Jeg henter en række data fra nogle databaser og bruger en progressbar på en splashscreen til at vise hvor langt jeg er...

Jeg bruger koden:

    public partial class FrmProgressControl : Form
    {
        public int _max {get; set;}

        public FrmProgressControl()
        {
            InitializeComponent();
        }

        public void SetprogressBar(double Progress)
        {
            progressBar1.Maximum = _max;
            progressBar1.Value = (int)Progress;
            double x = Progress/_max*100.00;
            FrmProgressControl.ActiveForm.Text = "Henter data... (" + Convert.ToInt16(x) + " % færdig)";
            Application.DoEvents();
        }
    }

Funktionen "SetprogressBar" kaldes så i den del af programmet der styrer dataflowet.
Jeg åbner formen med:

FrmProgressControl frmprogress = new FrmProgressControl();
frmprogress._max = this._fileList.Count() * this._kKSKeys.Count();
frmprogress.TopLevel = true;
frmprogress.Show();

Det virker fint, men... hvis jeg skifter fokus væk fra FrmProgressControl (når jeg f.eks. checker email eller går på internettet) så kommer der en nullexception handler i koden "FrmProgressControl.ActiveForm.Text = "Henter data... (" + Convert.ToInt16(x) + " % færdig)";"

Hvorfor det? Hvordan laver jeg så en progressbar?
Avatar billede arne_v Ekspert
01. marts 2015 - 22:27 #1
Du skal no vaelge noget andet end .ActiveForm !
Avatar billede friiiiis Novice
01. marts 2015 - 22:54 #2
Yes... Som sædvanligt har du ret...

Jeg skulle skrive:
this.Text = "Henter data... (" + Convert.ToInt16(x) + " % færdig)";

og IKKE:

FrmProgressControl.ActiveForm.Text = "Henter data... (" + Convert.ToInt16(x) + " % færdig)";

Jeg referer jo til Classens definition med FrmProgressControl. (som jeg ikke burde gøre) men burde referer til instancen af classen som this.Text

Smid et svar... ;-)

PS: Hvor mange point går du efter? Nu har du > 1e6 - hvad mere stræber du efter ;-))
Avatar billede arne_v Ekspert
01. marts 2015 - 23:10 #3
svar
Avatar billede arne_v Ekspert
01. marts 2015 - 23:11 #4
Jeg gaar ikke saa meget op i point som for 10 aar siden.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester