Cellvalidating cancel

posted by | Leave a comment

-- Terry "Al Reid" wrote: Terry, Yes I've been following it.I added the code to handle the esc key per the "bug" thread and it works.I have a form w/ a textbox and Cancel button on it. When I click on the cancel button it doesn't even get to the cancel.click event until AFTER it has done the validating. As far as the original validation issue, I started a new project (VB2005) and tried your approach It works except that pressing the Esc key still causes the validation event to fire. According to the documentation: "The cancel button for a form is the button control that is clicked whenever the user presses the ESC key." Which says to me the behavior s/b the same! Validating If Not mbln Cancel Then Dim dte Date As Date Time If Date Time. Also note that the "trick" to closing the form is not keeping a seperate "canceling" flag, but to put "e.cancel=False" in the forms closing event.I have a routine to handle textbox.validating, and I have the form setup so the Cancel button is the Cancel button. I am going to start a new thread - calling it a bug and see what happens. Down (Down Arrow) and some how (and I never figured this one out) the next control in the tab order, regardless of the Tab Stop property, got focus. Causes Validation = False Public Class Form1 Private mbln Cancel As Boolean Private Sub Text Box1_Validating(By Val sender As Object, By Val e As System. -- Terry "Al Reid" wrote: Terry, I tried the same scenario in VB6 and found that it works the way one would expect AND there is no need for the m Cancel flag either. -- Al Reid (who didn't mean to hijack the thread) "Terry" Well it works for me - but one thing I left out - you need to set the cancel buttons 'causes validation' to false. I am new to VB comming from VB6, but that was also the case in VB6. Somewhere in all of that, something must be getting crossed up. For example, I have another application that uses a wedge type barcode reader. I just don't know what key code combination could direct focus to a text box control that should never receive focus since the Tab Stop property is false and there is no other code that sets focus to the textbox. Maybe you should be using the Key Down event instead of the Key Press event. here is a line copied from the documentation: "The Key Press event is not raised by noncharacter keys; however, the noncharacter keys do raise the Key Down and Key Up events." My guess is that the gun is sending some noncharacter data to you.

Then in the btn Cancel_click event, either set a module level variable like m Canceling to True and then in the validating event ... I've been fighting the same problem for some time now. I think that the only way to do this is to grab the mouse coordinates in the validating event, do a Window From Point API call, then compare the returned HWND to the Cancel Button's Handle. Close() End Sub Private Sub Text Box1_Validating(By Val sender As Object, By Val e As System. When you click on the button the validating event fires. If the handle matched then immediately exit the Validating event without setting e. -- Al Reid I had tried all of that, *BUT*, I had neglected to set the button's Causes Validation to False. I just don't know what key code combination could direct focus to a text box control that should never receive focus since the Tab Stop property is false and there is no other code that sets focus to the textbox. Also in the docs on Key Down there is a mention of "Is Input Key" which I will have to look into. However, after I removed the "canceling" flag and added the "e.cancel=False" to the form's Form Closing event, I once again see the validation when clicking on the cancel button, but the form then closes after displaying the validation error. -- Al Reid "Terry" Hi Al, Don't know if you have been following the thread I started about the escape key "bug", but if you search this community for "Cancel Button vs Escape Key", you can see the result including the work around for the escape key. My final solution, unless someone has a better suggestion, is to change the Validating event to the Leave event and detecting whether the cancel button had been clicked in the Leave event and exiting if it was. I just don't know what key code combination could direct focus to a text box control that should never receive focus since the Tab Stop property is false and there is no other code that sets focus to the textbox. Maybe you should be using the Key Down event instead of the Key Press event. here is a line copied from the documentation: "The Key Press event is not raised by noncharacter keys; however, the noncharacter keys do raise the Key Down and Key Up events." My guess is that the gun is sending some noncharacter data to you. Why it would stop on a textbox with tabstop property set to False - I have no idea, unless it is a behavior of the container its in. If I hit the escape, the validation event fires and since the m Canceling is not True, the validation error gets displayed before the form closes. As far as the 'gun', it may be better to write a console app. -- Terry "Al Reid" wrote: Terry, I guess we have a similar background. I don't do anything with the barcode data in the Key Press event. I guess I could inspect the data in the Key Down event to see if there is a difference. -- Al Reid "Terry" Hi again Al, On the barcode reader problem. -- Al Reid "Terry" Hi Al, Nearly 40 years for me since my first college FORTRAN IV class! Well, one of the keys you would not see in either the keypress or keydown events is the tab key, which of course will move the focus.Then in the btn Cancel_click event, either set a module level variable like m Canceling to True and then in the validating event ... It doesn't need to be validated because the user is exiting. Length Yes, closing the form causes 'validating' to take place. Close() End Sub Private Sub Text Box1_Validating(By Val sender As Object, By Val e As System. I am going to start a new thread - calling it a bug and see what happens. Down (Down Arrow) and some how (and I never figured this one out) the next control in the tab order, regardless of the Tab Stop property, got focus. Cancel = True End If End If End Sub Hi Al, Nearly 40 years for me since my first college FORTRAN IV class! Well, one of the keys you would not see in either the keypress or keydown events is the tab key, which of course will move the focus.Darin *** Sent via Developersdex Yes, closing the form causes 'validating' to take place. One, remove the "control Box" from the form, so the user cant close it that way. in the btn Cancel_Click event: Removehandeler Text Box1.validating, Addressof Text Box1_Validating -- Terry That doesn't work either, at least not for VB2005. -- Al Reid (who didn't mean to hijack the thread) "Terry" Well it works for me - but one thing I left out - you need to set the cancel buttons 'causes validation' to false. I reprogrammed the device to only send the CR and now the problem is solved. Validating If Not mbln Cancel Then Dim dte Date As Date Time If Date Time. Why it would stop on a textbox with tabstop property set to False - I have no idea, unless it is a behavior of the container its in. Maybe you should be using the Key Down event instead of the Key Press event. here is a line copied from the documentation: "The Key Press event is not raised by noncharacter keys; however, the noncharacter keys do raise the Key Down and Key Up events." My guess is that the gun is sending some noncharacter data to you.

When I click on the cancel button it doesn't even get to the cancel.click event until AFTER it has done the validating. The form's Key Preview is set to True so that I can handle key events on the form... If I connect a gun type, the program fails and the cursor jumps to a text box that has it's Tab Stop property set to False. Print in the Form's Keypress event all three methods display the exact same key codes. -- Al Reid "Terry" Terry, I guess we have a similar background. I don't do anything with the barcode data in the Key Press event. I guess I could inspect the data in the Key Down event to see if there is a difference. -- Al Reid "Terry" Hi again Al, On the barcode reader problem.

Leave a Reply

lovedatingmarriage com