DataGridView's RowValidating Event Fires Differently When Closing A Modal Vs NonModal Form
Mar 24, 2011
Based on our tests primarily done in VB.NET in VS2010 it seems that when you close a WinForm the "RowValidating" event of the DataGridView on that form behaves differently depending on whether the form is MODAL or NON-MODAL. What we did was open the form (MODAL and NONMODAL) and changed a value of a cell and then immediately clicked the "X" to close the form. It looks like the "RowValidating" event DOESN'T fire if the grid is on a MODAL form but it DOES fire when the grid is on a NON-MODAL form. We can't figure out why that is... Is this a known bug in .NET?
[Code]...
View 3 Replies
ADVERTISEMENT
Dec 18, 2009
I have a modal form that does double duty.When a user wants to add a new object to a database, I open the form blank and they fill it out. When the form closes, all of the data is passed back to my main form and is used to create the new object in the database.When a user wants to edit an existing object, I open the form and pre-populate all of the fields with the object's data.I'm running checks on the form as they edit the fields, only enabling the "OK" button (which will update the database) if the form has actually been changed. If they make a change and then undo it, the "OK" button is reset to Enabled = False.At the bottom of the form are a ComboBox, two buttons and a ListBox. The intent is to allow the user to select an item from the ComboBox and "Add" ("Add" button) to the ListBox, or select an item in the ListBox and "Remove" ("Remove" button) it FROM the ListBox.
This function works fine when the form is loaded blank.When the form is loaded with data, however, (and in the testing I've done, the ListBox has no items in it to start, which is valid), adding an item from the ComboBox to the ListBox causes the Modal form to close with a DialogResult of Cancel.I've tried to trace the source of this issue, but stepping through each line in debug mode gives me no clue as to why this is happening.I COULD remove all of the checks and update the form each time the user presses "OK" (in the case of no changes, the database data would be overwritten with the same data), but that seems kludgy and less elegant. Plus, I'd like this logic to work.
View 11 Replies
Mar 9, 2012
A form has many buttons. One of those buttons contains code to update the TableAdapterManager. One of the many TextBox controls has code in a Validating event handler. There is code to make sure a US phone number is formatted properly.If the user tabs out of the TextBox the Validating code works perfectly and show a message to the user if the phone number is not properly formatted and the focus is place in the offending TextBox.If the user clicks on a button that has code to update the TableAdapterManager the Validating code fires but instead of focus remaining on the offending TextBox, the code in the button Click handler also fires.
I would like to stop the button code from firing.Here is the code for the Validating event of the TextBox:
Private Sub TextBoxPrimaryPhone_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBoxPrimaryPhone.Validating
' Make sure the phone is formatted correctly.
[code]....
What additional coding to I need to include so focus remains on the TextBox?
View 1 Replies
May 12, 2010
I'm looking for an event on a form that fires after Form.Load. Specifically, after the form has been displayed. Is there one?
View 3 Replies
Feb 25, 2011
I have a datagridview I am displaying on a form and would like to format one of the columns differently then the available formats. I have a column that is a decimal(18,2) (in the table) named "MyDecimalField". In asp.net I could do this, in the "template field" of a datagrid.
math.round(MyDecimalField / 60 , 2)
In VB.net forms I cant figure out how to do that. Basically I need to divide the cell by 60 and round that to 2 decimal places.
IE
the Cell contains this: 1283.93
I want the user to see this: 21.40
1283.93 / 60 = 21.3988333 then round it to 21.40
View 1 Replies
Sep 18, 2009
I've been following a codeproject article on using the interop forms toolkit (basically a way for developers to slowly upgrade their VB6 projects to .net by allowing .net components run in VB6)
[URL]
While the .NET form is working fine in all other testing projects and environments, I've found that the Form_load event is actually firing twice once it's in executing in the VB6 runtime.Not only annoying, its forcing my initialization code to execute twice (causing all kind of problems on the second run).
If (runBefore = True) Then
View 1 Replies
Aug 7, 2009
I'm having an interesting issue that I can't reproduce on a different project, but can consistently on this one. I have no clue what might be causing it, but am hoping that someone may have seen it before.
I have a main form, from which I run a series of checks. On this form, I have a listview control. Because of some issues with the refreshing of this listview control, I had to create my own messagebox. It's just a form that displays some text ( it also happens to look nicer than MsgBox; in my opinion, anyways ). It's been working great for months, until recently.
My problem is that on my main form's load event, I run this check, which returns an error within a try/catch block. I then call my custom messagebox with a message. It in turns calls it's ShowDialog() function.
In any other situation ( after the main form has been loaded ), I have no problems. The messagebox goes on the screen and behaves appropriately ( ie: waits for my input and acts as a modal dialog ( stops execution of my main form's thread ) ). However, on this onload event, my messagebox comes up and goes away almost immediately afterwards.
I've traced it all the way to the showdialog() call. For no explicable reason, it appears to skip right over this call, without me doing anything on the form.
Here's what the inner trace looks like ( when I put a breakpoint on the onclosing event for this messagebox form ):
CODE:
View 10 Replies
Mar 6, 2010
Can't Remove Row in datagrid on event RowValidating
View 6 Replies
Feb 4, 2010
I execute some code for current on binding source when selectedIndexChanged.Problem is it throws an error when its executed on closing the form. I can wrap in a try catch... but what would the proper way to handle this be?
Select Case TabControl_Lanes.SelectedTab.Name
Case tp_create_Lanes.Name
depotName = CStr(M8DepotsBindingSource.Current("depotName"))
depotID = CInt(M8DepotsBindingSource.Current("depotID"))
End Select
View 2 Replies
Aug 16, 2011
I want my users to enter some data into a bound DataGridView (dgv) and when done to have the program fill in some columns (hidden key) and to populate some cells in the same row according to the data entered - like max of several cells.
Can I use DataGridView RowValidating to update cells? Or is it just a Cancel or not issue?
What would be the correct way for me to fill in hidden key information and to calculate some cell values?
View 4 Replies
Feb 24, 2012
I have a bounded datagridview and have some code in row validating event. When i add a new line by writing something in one of the cells of the new row, and if in the middle of the process i wish to cancel this new row, if i use the escape key i get an exception, something like, Index (number of the removed row) does not have a value. After the exception the exception the row it's removed...
How can i make the row validating to work correctly?I have this code in the start of rowValidating
vb.net If MyDataGridView.Rows(e.RowIndex) IsNot Nothing AndAlso Not MyDataGridView.Rows(e.RowIndex).IsNewRow Then
End If
View 3 Replies
Apr 26, 2012
I have a modeal window that I am showing in .aspx. How do I close this modal window in VB.net programmatically?
View 1 Replies
Dec 15, 2009
I want to wait for and close a modal form (a popup) from another application, as soon as it appears. I want to do this from VB.NET, but suggestions in C# should be easily translateable.
I can hard-code the modal popup's caption in my app, since it's long and unique. What I want to do is simulate either the user clicking on the close ("X") button on the form, or a click on the defeault, tab-order 0 button of the form. Either would work.
Maybe I need more info about the modal popup other than the title bar's caption? In any case, it's safe to use it as an unique identifier of that modal form. I also want that code to terminate checking as soon as the first event of closing the popup happens.
I believe it's trivial, but I can't find any ready info on that. Microsoft says I should not send WM_CLOSE to the modal popup, since it will call DestroyWindow() instead of EndDialog(), but to be honest I don't even know what "sending WM_CLOSE" to the "window" means =/
View 1 Replies
Aug 21, 2005
There may be times when it would be useful for your code to be able to find and close modal dialogs displayed by an application. Perhaps you do not want to have to wait indefinitely for your user's input, or are using the COM Web browser control to automatically navigate Web page and would like to interactively close alert messages that pop up.Digging into our Interop toolbox, we find that this is a relatively simple process using a few core Win32API calls. Starting with the handle of the main window associated with the dialog (this is the form from which the messagebox was shown, whether from your code or from a Web page hosted in a Web browser control on the form), the GetWindow function can be used to retrieve a handle to a dialog windows (called a popup by the Windows API) being displayed (if any). The same function can then be used to enumerate the child windows of the dialog to find a button on the dialog to click in order to close it, and the SendMessage API function can be used to simulate that click, effectlvely closing the dialog window.
NOTE: At the top of whatever code file you put this code, be sure to include the following line (thanks poiygon for pointing this out):Code:Imports System.Runtime.InteropServices this allows for the shortcuts to the DllImport attributes.[code]This sample can be easily modified to close a dialog in another application (by using the MainWindowHandle of that application in the LookForAndCloseIEPopup function, instead of "Me.Handle") or to close any other type of modal dialog message being displayed to your user.
View 10 Replies
Jun 1, 2011
I have this code that's suppose to override the form closing event, It fires off sucessfully however doesn't prevent the form from closing.
Private Sub Form_Close(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
Me.Hide()
e.Cancel = True
End Sub
View 9 Replies
Aug 1, 2011
I have a multi-form application that closes one form, using form.close() and shows another, using form.showdialog().In one of this forms, I have a 3 tabs, and I'm looking for to printing them one by one.I can print them easily but when the print_page event ends, the form that just printed closes. It also happens when I just hit Cancel on the printdialog.
Private Sub bttnImprimir1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnImprimir1.Click
Dim pdialog As PrintDialog = New PrintDialog
pdialog.Document = PrintDocument 'PrintDialog associate with PrintDocument.[code].....
View 10 Replies
Feb 25, 2011
I have a parent form (form1), which is calling a second form (form2) as modal.[code]...
No form2 is modal. Closing this form2 from the form itself is clear.But how can I close the form via myform2.close from form1 via an event handler?
View 6 Replies
Mar 21, 2011
Going around in circles here. I have an Exit button (Barbuttonitem6) on my form and would like the FormClosing event to handle this. The code works fine for the FormClosing event but when i try to call the Formclosing event from Barbuttonitem6, it does not work (The form does not close if i choose Yes to save or No)
Public Sub BarButtonItem6_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem6.ItemClick
[code].....
View 2 Replies
Dec 12, 2009
okay i have this code
Private Sub Form_OpenGradeBook_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
[code].....
View 6 Replies
Oct 13, 2010
I read data into a DS from an XML file. The user has the ability to "Save" or "Save As" at any time. They can also "Open" an existing file or create a "New" one. (brilliant, don't you think?)
I need to make sure I ask the user if they want to save their existing data (i.e. rewrite the XML file) if the DS has changed from the XML load or from the last time they Saved. On Open, New or exit I have been checking the HasChanges function on the DS. This doesn't work the way that I need. I use AcceptChanges throughout the program to commit values to the DS. This appears to kill the HasChanges even though the DS is now different than the XML file.
Is there an event in the DS that fires when data changes? If so, I believe I can set a flag that can be checked later. If not, is there any other way to track that a DS has changed after the initial XML load? Would reloading the XML into a cloned DS and comparing the two work? Seems like a waste of "time", especially with large XML files, but if it's the only way.
View 5 Replies
Mar 14, 2011
I have a class with two descendent classes (child, grandchild):[code]When a property changes in the Measurement class I raise a OnCrucibleOxidizedMassChanged event:[code]However, the OnChanged sub gets called twice, even though I only assign a value to CrucibleOxidizedMass once.
View 1 Replies
Jul 17, 2009
I have a problem with a ComboBox to select FontStyle. I need to select the font style twice to fire the event in SelectedIndexChanged Event, that means for example to click "Arial Black" twice to set the text to this font.
View 1 Replies
Jan 3, 2011
I have written some code in a form which is shown via ShowDialog from a different form. This code fills a DataGridView with data from two tables in a dataset, one through data binding, and one through more manual means. The latter part runs, or more accurately, fails to run in the same way if I call this form in the same way subsequently but without stopping debugging.
View 2 Replies
Apr 2, 2009
When I write a byte array to a device using this code, the DataReceived Event never fires.....
[Code]...
AND if the sleep is <40, the event doesn't fire. Is this necessary or am I overlooking something?
View 11 Replies
Feb 27, 2012
what event fires when individual textboxes that are bound to a data source using the properties pane gets refreshed? I wish to use this event to populate a few textboxes that are not bound.
View 1 Replies
Jul 7, 2010
I have a VB .NET form with a splitter control on it, and I want to save its position between program runs. I am currently handling the SplitterMoved event and storing the SplitterDistance. Then on program startup, I set the SplitterDistance to the saved value.
However, sometimes the program resizes the splitter, raising the SplitterMoved event and overwriting my saved distance. I have several splitters over multiple tabs in a tab control, and any time the user goes to a new tab for the first time, the SplitterMoved event fires.Is there an event I can use that will only fire when the user moves the splitter, and not when the program moves the splitter? I tried MouseUp, but when that event fires, the new SplitterDistance is not yet set.
View 2 Replies
Jul 11, 2009
The leave event fires twice in this example. Tab order for the form controls is set to combobox1, button1, button3 Private Sub ComboBox1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.Leave
[Code]...
if I enter 'A' in the combobox1 then combobox1 leave event will fire twice any other entry is Ok since the next control to get focus is button2 (in the normal tab order).It seems that if I try to skip the next control (based on the tab order set for the form), the leave event fires twice.
View 2 Replies
Jul 17, 2011
I have a form for which the form load event only fires one time. When the program starts. It will not fire again until I end the program and restart. I have tried .show and .showdialog, but it acts the same. I have read about form load events loosing the handles, but my code looks exactly like it should.
Here is the load event code
PrivateSub frmBilling_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
LoadClients()
LoadTherapists()
LoadCPT() EndSub
Here is the code that calles the form.
PrivateSub BillingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BillingToolStripMenuItem.ClickfrmBilling.Show()
frmbilling.show()
EndSub
View 1 Replies
Dec 10, 2008
I have a tree view with checkboxes. When a user checks an item in the tree, all items below it in the tree should be checked automatically to match the parent. The same is true is a user unchecks an item. That's been reasonably easy to implement using the after check event:-
Private Sub tvwUserGroups_AfterCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvwUserGroups.AfterCheck
If Not m_Isloading _
[code].....
View 7 Replies
May 8, 2011
I want to change the background color of an element when the mouseEnter event fires. How to make the color of the background darker?? I thought I can use an opacity mask, but it's a gradient, but I need it to be solid. Also it has to be in visual basic code, not in xaml.
View 2 Replies