HEJ! Lägg in ett anrop till Listbox.Refresh innan du börjar beräkningen. Har också varit inne på det men jag har ej Refresh() eller Update() Det verkar väldigt konstigt om du inte har Refresh eller Update eftersom både dessa är definierade i basklassen System.Windows.Forms.Control, som alla (?) kontroller ärver från. Måste inte det göras på klienten? Med tanke på att det renderas så måste det väl bli så? Eller? Ett snabbt, enkelt och kanske inte helt korkat svar är ett av dessa fyra.Webform - Uppdatera
Jag har en WebForm, knapp och en listbox. När man trycker på knappen utförs en beräkning som tar ett par sekunder.
Jag skulle vilja att det står "Vänta.." i listboxen medans beräkningen utförs.
Någon som har något förslag?
TACK!
/Alexander
<code>
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox_Info.Items.Add("Vänta...")
System.Threading.Thread.Sleep(2500) 'Lång beräkning.
ListBox_Info.Items.Add("Resultat")
End Sub
</code>Sv: Webform - Uppdatera
<code>
ListBox1.Items.Add("Vänta...")
ListBox1.Refresh()
System.Threading.Thread.Sleep(2500) 'Lång beräkning.
ListBox1.Items.Add("Resultat")
</code>Sv: Webform - Uppdatera
???Sv: Webform - Uppdatera
Det är inte så att du råkade göra Refresh på Items collection istället? För där finns det inget Refresh.
Jag vet inte om Refresh eller Update är bästa valet, men de funkar båda två.
Om du ska lägga in massa rader i ListBox efter din beräkning så kan du kolla på BeginUpdate och EndUpdate, dessa bättrar på prestanda eftersom kontrollen inte behöver rita om sig hela tiden.
/MattiasSv: Webform - Uppdatera
Sv: Webform - Uppdatera
1. Tar det verkligen ett par sekunder då du installerat din applikation i distributionsläge och dessutom i ReleaseMode? Kanske det tar ett par senkunder för att du sitter å debuggar?
2. Upplever dina användare (om du har några beställare) det som ett problem?
3. Inspireras av SJ (fy fa... oops!). Kolla i hjälpen om Response.Buffer. Jag kan inte så mycket om det men vet att du då kan dela uppsidan i flera delar. Den första delen skriver meddelandet och den andra gör uträkningen och visa upp resultatet.
4. Enkelt och simpelt. Se till att din knapp, som submittar (gör en postback) inte är av sådan typ utan koppla den själv till et javascript, som skriver på sidan att det kommer ta ett par sekunder och SEDAN gör en postback.
Personligen tror att svaret ligger i 2 och du har uppdragsgivare, eller i 1 om du inte har det.
//Mikael.NET
Har ingen uppdragsgivare :-/