Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

How do I accept a User Input from multiple forms using the same "Input form"?

Posted on 2007-11-25
5
Medium Priority
?
182 Views
Last Modified: 2010-04-23
I want to have the user be able to click in any text box and when they do, a "User Input" keyboard will pop-up and they can Enter in a value (the program is going to be running on a touch screen with no keyboard, so on-screen keyboard is required). The value they enter will appear in a text box on the "User Input" form. When they hit accept, I want that value to be transfered to the textbox on the form in which they originally clicked in. I want the "User Input" keyboard to be able to be used multiple times throughout the program, and Ideally I just want to have to call a sub-routine or function when the user "Enters" the text box in which they want to type in.

I have tried this multiple ways and can't seem to get it working correctly. It kind of works, but not like I would hope.  I wish I still had my original code, but i have been tinkering with it; and It's pretty messed up at the moment. A basic concept of what i was doing is:

---------------------------------
Form1

txt_textbox (on Enter event)

txt_textbox.text = Module1.UserInput



-------------------------
Module1

Public UserInputValue as String

Public Function UserInput

frm_UserInput.Show
frm_Userinput.TopMost = True

UserInput = UserInputValue

UserInputValue = Nothing

End Function


-------------------------
frm_UserInput


btn_Accept.Click

UserInputValue = txt_Value.Text
txt_Value.Text =""
Me.Close()

--------------------------

This would work kind of. It was like it would sometimes work and others not. Especially the first textbox i would try would usually fail. The textboxes after that seemed to work just fine.

I know there is an easy way of doing what I'm trying to do, Any ideas/suggestions?
0
Comment
Question by:Gssc1414
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 3

Author Comment

by:Gssc1414
ID: 20347552
Or at least I would think there is an easy way, and im just thinking too much into it.
0
 
LVL 3

Author Comment

by:Gssc1414
ID: 20347691
Hmm... I think i may have figured out a good way of doing it.

1. Defined a "textbox" variable publically.

2. Set the variable to the texbox that i want text to appear in.

3. Set the Variables ".text" property when the user hits the accept button to what is in the UserInput text box.

Below is my code:

Is this a good/recommeneded way of doing it?
    Private Sub txt_CurrentBladeRPM_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_CurrentBladeRPM.Enter
 
        txtBox = Me.txt_CurrentBladeRPM
        frm_UserInput.Show()
 
 
    End Sub
 
 
 
Module SAW
    Public SupervisorLoginCache As Boolean
    Public LoggedInUser As String
    Public UserInputValue As String
    Public txtBox As TextBox
 
End Module
 
 
    Private Sub btn_Accept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Accept.Click
 
        txtBox.Text = txt_Value.Text
        txt_Value.Text = ""
        Me.Close()
 
    End Sub

Open in new window

0
 
LVL 11

Accepted Solution

by:
AkisC earned 2000 total points
ID: 20350203
What I'd reccoment is...
 a global variable on the "UserInput" form
    Public pub_userInput as string=""

 Private Sub btn_Accept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Accept.Click
 
        txtBox.Text = txt_Value.Text
        pub_userInput= txt_Value.Text  '//assuming this is the value your user has typed.
        Me.Close()
 
    End Sub

And you can use it like (from any form)

    Public Function getFormInput() As String
        Dim myText As String = ""

        Dim f As New formUserInput  '// assuming formUserInput is the form name
        f.ShowDialog()
        myText = f.pub_userInput  '// myText has the value of the user input
        f.close()

        If myText Is DBNull.Value Then myText = ""
        Return myText
    End Function
0
 
LVL 3

Author Comment

by:Gssc1414
ID: 20352011
Is there any benefit to do it the way you posted it over the solution I came upon above, or is it just the way that your used to / makes most since to you?

Thanks for the response, I am just wondering if there are any benefits (performance/scalability ect.) to your method.
0
 
LVL 11

Expert Comment

by:AkisC
ID: 20352724
Whatever fits you.
I find the way I posted easier to debug in the future.

Take care
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying 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

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…

688 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