Forums Neueste Beiträge
 

VB 2005: Windows-Form mit Progressbar bleibt weiss

19/11/2007 - 14:48 von Oskar Vaia | Report spam
Hallo,

ich habe ein Outlook-Add-In entwickelt, welches Daten aus einer
Excel-Tabelle in unseren Exchange-Server schreibt.
Wàhrend der Abarbeitung der Datensàtze, sollte eine ProgressBar die noch zu
bearbeitende Datensatzanzahl anzeigen.
Das Problem ist nun, dass das Fenster mit der ProgressBar angezeigt wird,
wàhrend der Abarbeitung der Datensàtze aber komplett weiss bleibt, so als
würde die Anwendung "hàngen".
Was mache ich da falsch?

Hier das Code-snippet, welches das ProgressBar-Objekt in einem eigenen
Windows-Form anzeigt:

FormProg = New Form
FormProg.FormBorderStyle =
Windows.Forms.FormBorderStyle.FixedToolWindow
FormProg.ShowInTaskbar = False
FormProg.Width = 230
FormProg.Height = 125
FormProg.Text = "Datensatzverarbeitung làuft ..."

Dim FormPgT As New Label
Dim FormPgE As New Label

FormPgT.Left = 10
FormPgT.Top = 20
FormPgT.Width = 120
FormPgT.Height = 20
FormPgT.Text = "Zu verarbeitende Datensàtze:"

FormPgLbl_TVal.Left = 140
FormPgLbl_TVal.Top = 20
FormPgLbl_TVal.Width = 70
FormPgLbl_TVal.Height = 20
FormPgLbl_TVal.TextAlign = ContentAlignment.TopRight
FormPgLbl_TVal.Text = Str(EndZàhler - 1).ToString

FormPgE.Left = 10
FormPgE.Top = 40
FormPgE.Width = 120
FormPgE.Height = 20
FormPgE.Text = "Verarbeitete Datensàtze:"

FormPgLbl_Val.Left = 140
FormPgLbl_Val.Top = 40
FormPgLbl_Val.Width = 70
FormPgLbl_Val.Height = 20
FormPgLbl_Val.TextAlign = ContentAlignment.TopRight
FormPgLbl_Val.Text = 0

ProgBar.Top = 70
ProgBar.Left = 10
ProgBar.Width = 200
ProgBar.Height = 20

FormProg.Controls.Add(FormPgT)
FormProg.Controls.Add(FormPgE)
FormProg.Controls.Add(FormPgLbl_Val)
FormProg.Controls.Add(FormPgLbl_TVal)
FormProg.Controls.Add(ProgBar)
FormProg.Show()

ProgBar.Minimum = 1
ProgBar.Maximum = EndZàhler - 1
ProgBar.Step = 1
ProgBar.Value = 1
FormProg.Refresh()

Und hier das Code-snippet, welches die Datensàte bearbeitet:

Zàhler = 2
Do While Zàhler <= EndZàhler
FormPgLbl_Val.Text = ProgBar.Value.ToString
FormProg.Refresh()
OpFlag = excelWorksheet.Cells(Zàhler, 7).value

Zàhler = Zàhler + 1
ProgBar.PerformStep()
Loop

Dank und Grüße

Oskar
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
19/11/2007 - 14:59 | Warnen spam
"Oskar Vaia" schrieb:
ich habe ein Outlook-Add-In entwickelt, welches Daten aus einer
Excel-Tabelle in unseren Exchange-Server schreibt.
Wàhrend der Abarbeitung der Datensàtze, sollte eine ProgressBar die noch
zu bearbeitende Datensatzanzahl anzeigen.
Das Problem ist nun, dass das Fenster mit der ProgressBar angezeigt wird,
wàhrend der Abarbeitung der Datensàtze aber komplett weiss bleibt, so als
würde die Anwendung "hàngen".
[...]
Und hier das Code-snippet, welches die Datensàte bearbeitet:

Zàhler = 2
Do While Zàhler <= EndZàhler
FormPgLbl_Val.Text = ProgBar.Value.ToString
FormProg.Refresh()
OpFlag = excelWorksheet.Cells(Zàhler, 7).value

Zàhler = Zàhler + 1
ProgBar.PerformStep()



\\\
Application.DoEvents()
///

Loop



M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Ähnliche fragen