Solved

Need to clear Textbox after each number is added to ListBox

Posted on 2004-10-07
10
198 Views
Last Modified: 2008-03-17
I have a program I made for my kids math homework. The problem I am having is the user enters a number in a textbox then click an enter buttonor presses enter on the keyboard and the number is added to the listbox.  What I want happen next is the textbox is cleared and textbox has focus so the user can enter a new number right away without having to clear the textbox themselves.  What is happening is after you type the first number in and click the button there is a delay in which the number appears in the listboxafter that though the rest of the numbers are added to listbox immediately.  This isn't such a big deal but I was wondering if there is a better way to clear the textbox after each number is added to the listbox.
here is my code....

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Num = CLng(TextBox1.Text)
        ListBox1.Items.Add(Format(Num, "#,#"))
        TextBox1.Clear()
        TextBox1.Focus()
    End Sub


Thanks...
0
Comment
Question by:ucla11
  • 2
  • 2
  • 2
  • +3
10 Comments
 
LVL 18

Expert Comment

by:tusharashah
ID: 12251069
You can just set TextBox to blank like following:

TextBox1.Text = ""
0
 
LVL 27

Expert Comment

by:planocz
ID: 12251084
Try something like this...
 
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Num = CLng(TextBox1.Text)
        ListBox1.Items.Add(Format(Num, "#,#"))
        Clear_Form
    End Sub
   
   Private Sub Clear_Form
        ListBox1.Refresh
        TextBox1.Clear()
        TextBox1.Focus()
    End Sub
0
 

Author Comment

by:ucla11
ID: 12251984
TextBox1.Text = "" does the same thing

 Private Sub Clear_Form
        ListBox1.Refresh
        TextBox1.Clear()
        TextBox1.Focus()
    End Sub
works in reverse the listbox loads quickly but the textbox clears slowly, and only after the first inputthen it works fine either way.
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 27

Expert Comment

by:planocz
ID: 12252368
This works for me...

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Num As Long
        If TextBox1.Text.Length <= 0 Then
            Exit Sub
        End If
        Num = CLng(TextBox1.Text)
        ListBox1.Items.Add(Format(Num, "#,#"))
        Clear_Form()

    End Sub
    Private Sub Clear_Form()
        ListBox1.Refresh()
        TextBox1.Clear()
        TextBox1.Focus()
    End Sub
0
 

Author Comment

by:ucla11
ID: 12252839
Maybe I am doing some different because it still works  the same for me.....works in reverse the listbox loads quickly but the textbox clears slowly, and only after the first input then it works fine either way.

the only thing that looks different is   Dim Num As Long....I already declared Num.......

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private Num As Long


there is about a 3second delay for me before the textbox clears(again it is only on the first number inputed and only when you first start the Application.  If I clear  the listbox an enter new numbers it works fine, even the first number inputed.  If I can't fix it that is okay but it is driving me crazy.  I made the exact same program in VB 6.0 and it works fine.
0
 
LVL 18

Accepted Solution

by:
mdougan earned 125 total points
ID: 12252913
Hi ucla11,

I don't think the issue is in clearing the textbox... I think that the issue is that it's taking longer to add the first item to the listbox than it takes to add the second or third etc.  This is because the system has to allocate new storage space for the array of list items etc....

I don't think there is much you can do about the delay, however you might be able to fool the user by changing the order that you do things:

        Num = CLng(TextBox1.Text)
        TextBox1.Clear()
        TextBox1.Focus()
        ListBox1.Items.Add(Format(Num, "#,#"))


Cheers!
0
 
LVL 2

Expert Comment

by:UncleMidriff
ID: 12254469
I would either do as mdougan said or, right when the form first opens, add a number to the list box and then removed it right quick.  Sure, it's a stupid work around for a problem that should exist, but at least the delay will be out of the way by the time the user is ready to enter data.

Good luck.
0
 
LVL 2

Expert Comment

by:UncleMidriff
ID: 12254476
"Sure, it's a stupid work around for a problem that should exist..."

should read:

"Sure, it's a stupid work around for a problem that should not exist..."
0
 
LVL 18

Expert Comment

by:mdougan
ID: 12254689
I like that idea UncleMidriff.... the user is not really going to notice it much as the form loads.
0
 
LVL 4

Expert Comment

by:eozz_2000
ID: 12255131
Well... I have pasted your code in one form and there are no problem, the textBox is cleared as fast as the first time.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question