Click differences between text box and a button - vb.net

On a form where I display data, if the user clicks the text box I open a virtual keyboard (form) and allow them to click buttons to enter data. When this virtual keyboard is opened, if the path to open was from clicking a text box, the first click in the new form (virtual keyboard) is ignored. If the virtual keyboard form is opened from clicking a button (from the first form), it works fine. I can't find a difference between triggering the virtual keyboard form from either control.

It seems to me that your issue is one of focus. When you trigger the virtual keyboard form to open because of the textbox click, you are somehow immediately returning focus to the caller, and not to the newly opened form. Therefore, you might need something as simple as:
myForm.Focus()
...at the end of the code that is opening the form.
I say this because the first click is "ignored", as you say. I would guess that it's actually consuming that first click as a focus event, and then you get the clicks you want registered as you want after that.

Related

How can I remove keyboard focus from a button on User Control after clicking it, in a vb.net PowerPoint add-in?

I have a vsto add-in for PowerPoint (vb.net) which includes a User Control with several buttons.
After clicking any of those buttons, or the User Control itself, I can't immediately use 'Ctrl' keyboard shortcuts, like Ctrl+C. It seems that the button or the User Control gets the focus. If I click on the slide, 'Ctrl' keyboard shortcuts work again.
Is there a way that I can take the focus away from the Button / User Control, in my Button1.Click event handler, in order to be able to use Ctrl+C right away? Or a way in which I can place the focus on the PPT Presentation?
I have searched and tried a ton of different methods, with no success...
PS: One observation I have made is that if instead of a Button, I click a Panel within my User Control, I do not have this problem.
Another observation is that while I can't use 'Ctrl' shortcuts right after clicking the button, 'Alt' shortcuts continue working fine.

Making a VB form noninteractive in the background

I want my current "home form" to stay in the background when I click on a button which in turn opens another form on top of it.
I want something like this:
Home -> Click Button -> open new form -> New form becomes the focus of the app
-> Home form stays in the background
The home form should still be there, but I can't click on it or anything. When I click on the app, only the new form opened should be interactive.
If I understand correctly, you can use Form.ShowDialog method to show the form as a modal dialog box.

How to make text box accept Return key function (used for Browser)

I want to know how to make my Text box (or Address bar) accept the Return/Enter key as a form of submitting a search.
Currently I have a button which submits the search, and not the textbox itself.
Thanks.
Currently I have a button which submits the search, and not the
textbox itself.
Assuming WinForms, set the AcceptButton property of your Form to that Button. Now when you hit enter the button will be automatically clicked for you:
Gets or sets the button on the form that is clicked when the user
presses the ENTER key.

Triggering Visual Basic Keydown events without a specific function

I'm building on top of code that a previous developer has left me, and he left something that intrigued me quite a bit.
Basically on his menus, he has a TextBox to take in user input and a button next to it to submit the value of the TextBox (for example if the user wanted to select option 1, he would input 1 into the TextBox and click the button). However, the user could also press the Enter key while focusing the TextBox, and it would be treated as the submit button was clicked.
Now this is simple enough to do, but when I check the VB code behind the menu, there's no TextBox_Keydown(...) Handles TextBox.Keydown function anywhere, only the button click event. How is he doing this? He has several menus that are similar and I can't figure out how.
A standard dialog box, if not told to act otherwise, enter does default command button and escape does cancel. In VB look at the properties Default for the command button.
I discovered how he was doing it. He basically mapped the AcceptButton and CancelButton properties of the entire Windows Form to various button functions.

Using Enter key to invoke different methods in Mac(objective c)

I am new to Objective c programming. I have created an application which has a UI with two buttons "Cancel" and "Ok". On clicking "Cancel", the application must terminate and clicking "Ok" must perform some task. Everything works fine. I am able to tab between these buttons and can call the required functionality by clicking space button.
All I want to do is, that when focus is on "Cancel" button(using tab key) then on clicking enter button from keyboard, my application should terminate and similarly, when focus is on "Ok" button then clicking enter should perform the desired functionality.
I have even set the 'setKeyEquivalent" property of the "Ok" and "Cancel" button, but I can only set unique keyequivalents. I also tried to read the title or tag value of the buttons and then call the required functionality but it didn't worked too.
Can someone please guide me how can I use enter button to invoke different functions depending upon the selected button in UI.
I think you don't want to set key equivalents for the buttons. You would want to override keyDown: and test for the enter key, then do the appropriate thing depending on which button had focus (which I think you could determine using NSWindow's firstResponder method).