Gssc1414
asked on
How do I accept a User Input from multiple forms using the same "Input form"?
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?
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?
ASKER
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?
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
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
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.
Thanks for the response, I am just wondering if there are any benefits (performance/scalability ect.) to your method.
Whatever fits you.
I find the way I posted easier to debug in the future.
Take care
I find the way I posted easier to debug in the future.
Take care
ASKER