I'm making a very basic vb.net winforms app, essentially you can drag files into it, and it then uses a batch file to process the files.
It's pretty simple and everything is going to plan so far, it accepts the right files, it uses the batch file to process them and the batch file does what it is supposed to.The only problem is that I don't know how to hook into the Exited event that can/should be raised by the batch file process when the process completes...
I want the DOS window of the batch file to remain hidden while it is running, so I have used ProcessStartInfo to specify the batch file, then set the WindowStyle property of the process to ProcessWindowStyle.Minimised, then used System.Diagnostics.Process.Start(myBatch) to start the process at the appropriate moment.
This is fine, it works and does what I want. However, the only way to tell when a process ends is to use the Exited event. But the Exited event apparently only works with a Process not a ProcessStartInfo. I could switch to use Process instead but then I couldn't (AFAIK) run the DOS window minimised... I've only been writing .net for a few days. This is how I'm running the batch file:
Dim myBatch As New ProcessStartInfo("C:\batchFiles\test.bat")
myBatch.WindowStyle = ProcessWindowStyle.Minimized
system.Diagnostics.Process.Start(myBatch)
I'm trying to save some layouts from DevExpress Grid Controls so that users can change the layouts and reload them in at a later use of the control.
My question is this for speed issues I am loading the control via a user control inside of a form. Now my problem is I am creating the control by adding an instance of the control to a panel control inside of a tabbed group control when the tab is made visible and then clearing the control when the control is hidden.
If ClaimsGridPanelControl.Visible = True Then ClaimsGridPanelControl.Controls.Add(New RXClaimsGridControl(ClaimsBindingSource)) Else ClaimsGridPanelControl.Controls.Clear() End If
So inside of the RxClaimGridControl I need to call a SaveLayout method when I am clearing the control. But there is no event, at least that I can find, that triggers when a usercontrol is removed/closed/hidden.
My thoughts for handling the .Clear() would be to raise an event in the parent control and then to handle that event inside of the user control.
Is there some event that I am missing in regards to the removal/closing/hiding of a user control, or is there a better way to do this.
I already have KeyPreview set to true in the form properties I'm working on a small program, and I'm having a problem where it seems that some of the controls on it inside groupboxes are not triggering the KeyDown event on my form when I press and release any arrow key, just the KeyUp event. Specifically, I've enabled KeyPreview on the form, and set breakpoints on e.SuppressKeyPress = True in both subroutines, and only the one for frmMain_KeyUp hits the breakpoint.
I added in the two GroupBox events hoping that might mitigate the issue, but no such luck. However, I have a custom control on the form that is specifically coded to ignore these keypresses, and the code works as expected on it.
Private Sub frmMain_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown, GroupBox1.KeyDown, GroupBox2.KeyDown e.SuppressKeyPress = True Select Case e.KeyCode
[code]....
The code in the user control that "ignores" keypresses is as such:
Private Sub TileDropDown_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown If e.KeyValue = 40 OrElse e.KeyValue = 38 OrElse e.KeyValue = 39 OrElse e.KeyValue = 37 Then e.SuppressKeyPress = True End If End Sub
In WinForms I could handle the Validated event to do something after the user changed text in a TextBox. Unlike TextChanged, Validated didn't fire for every character change; it only fired when the user was done.Is there anything in WPF I can use to get the same result, an event raised only after the user is done changing the text?
I have a UserControl, with a TextBox and a databound property - Value.Value can be any object such as a Color, Array, Font etc.Any time the text changes, the property Value is changed as long as it is valid.Looking at the msdn article: How to: Apply the PropertyNameChanged Pattern , it says I should use the PropertyNameChanged Event patternfrom the control side.Now, If I have DataSourceUpdateMode = OnValidate, then I don't even need to apply this pattern. If, say. my Value property is bound to a colour field in a business object, then after I type red, in the textbox and tab to another field, then any other fields on the form, that bind to the same colour field, are updated immediately.
I have used the below code but its not showing the msgbox. What is wrong with this code ?
Private Sub frmSimple_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed Dim result = MsgBox("Are you sure you want to Exit ?", vbYesNo) If result = DialogResult.Yes Then me.Close() End If End Sub
I have a Windows form UserControl that receives electrical signal waveform data into a 128 element byte array Property every 1,000 ms.
I would like to have the Paint event draw a a subset of the 128 sample points of the array every 100ms (12-13 graphic.drawline operations) to simulate a rolling waveform display such as one would see on an oscilloscope or a medical monitoring device. Is it possible, and if so, how would I set the paint event handler to fire every 100 ms?
I'm creating a base class for a button that inherits from Control as opposed to ButtonBase. I'm using reflector to look at ButtonBase to make sure I don't overlook anything important and I'm puzzled with the contents of the WndProc method. There's checks in there for things like button up, click and capture changed, which as far as I can tell are all handled within the relevent 'On' methods of the class.
Just moved from VB.NET to C#.In VB to connect and Event Handler to a Sub we use the Handles clause.From what it seems, this do not exist in C#. After creating a simple application with a button I realize that Window Forms Designer automatically created an EventHandler to my button1_Click function (after I double clicked it), in Form1.Designer.cs with this code:
this.button1.Click += new System.EventHandler(this.button1_Click);
But, in VB, the WinForms Designer create the Handles clause in my class, in the function header. So, C# create the default EventHandler in designer file, while VB creates in main class where control resides.
I'm looking for some advice for an application I currently developing. I'll try to keep this as brief as possible so if additional info is need just let me know.I'm developing an Winforms based event tracking system using VB.Net (VS 2008 Pro). The application collects data via serial bar code scanners and stores this data within a MS SQL Express db located on the same Windows XP Pro workstation that the application is installed on. When the application receives the formatted string of data it checks the db table and sends a reply back to the device indicating whether the data is a duplicate. I have written a PortManager class to handle the serial based devices and this functionality is working well.
I have now been asked to incorporate a new type of collection device into the system. The new device is running embedded Linux and uses TCPIP (POE) rather than serial communication. The device manufacture has assured me he can provide a string from the devices integrated scanner in the same format as my serial based devices.
If possible, I would like to utilize the current application and just add the ability to use the TCPIP devices to it. I was thinking it might be possible to just add a new class (similar to my Port Manager class) to handle the TCPIP based devices.I'm really at a loss as to the best way to approach this. I'm just not that familiar with collecting data from a Winforms application using a TCPIP based device.
In connection with a windows form's text control the keypress event handler provides a key's identity through the KeyChar property of the event argument. This works fine for all alphanumeric keys and Ctl-a ... Ctl-z, Backspace etc. but does nothing for such keys as Insert, Delete, Home, End, and the navigation keys. I would also want to read Ctl and Alt keys combinations etc. I have done these thing before, too many years ago, but forgotten it all. Tried the reference manual, but have not enough years left to succeed that way.
find a way to detect if a process has exited and then restart it. The problem is that I have multiple process' of the same name and exe. finding a way to id each process and detect if that specific process has exited then restart it.
If I dimension an object as below, do I need to set the object to Nothing before the function is exited, or does it get destroyed when the function exits?
vb Public Function FileTitle(ByVal FullPath As String) As String Dim subjectfile As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(FullPath) Return subjectfile.Name End Function
I have a WinForms app built with VB.Net in VS 2010, and I'm scratching my head over the following issue.I have a form with a combobox which gets bound to a datasource when the form is loaded:
With Me.cboCompany .DataBindings.Clear() .DataSource = Me.m_dsBidResults.Tables("Company") .ValueMember = "company_id"
[code].....
This seems to work fine, as long as the user doesn't switch focus to some other control and then go back to the combobox. After switching focus, if the user then changes the combobox selection to the first item in the dropdown list (SelectedIndex = 0), the SelectionChangeCommitted event fires, but the SelectedValue remains set to the previously selected value. I've verified this by adding a message box in the above event handler, displaying SelectedIndex and SelectedValue side-by-side.
'add this to SelectionChangeCommitted event handler MsgBox(String.Format("Selected Index: {0}, Selected Value: {1}", cboCompany.SelectedIndex, cboCompany.SelectedValue))
This does NOT happen if the user changes SelectedIndex to anything other than 0; everything behaves as expected. I've verified that the table I'm binding to contains unique values for company_id and company_name.Do I need to use some other event to verify that the SelectedValue has actually changed?
In a Windows Form application I have a Form with a UserControl that contains a child control. I have an event handler for the child control's Validating event. On the parent UserControl I call the ValidateChildren() method. But the event handler for the child control's Validating event does not run. The CausesValidation property is set to true on both the parent UserControl and the child control. Is there any reason why the Validating event handler would not run?
The child control is a custom control derived from Panel. It contains two RadioButton controls, both of which have their CausesValidation property set to true.
I am using Visual Studio 2008 and VB.NET. I've got a listview control on my form and I've added columns using the windows forms designer. As you know, if you double-click on the sizer or divider or whatever you want to call it between two columns, the column on the left will autosize (unless you disable that). How can I catch this specific event? The ColumnWidthChanged event and the DoubleClick event are likely candidates, but in the ColumnWidthChanged event, there's no way I can see to determine if it was an autosize. Similarly, there's no simple way to catch what was clicked exactly with the DoubleClick event. how I can catch this specific event type?
For i as integer 1 to dt.rows.count dim subpan as new panel *Code for creating panel" Next
the problem is i need to be able to add event handlers to each of them including, click, mouseEnter and mouseLeave but i can't figure out how to index each panel so that they can be accessed and identified. i tried using a property but that didn't seem to work or i was doing it wrong.
I exited out of a form on accident, and now I cant figure how to get it back. When I debug the program, it stiill works, the form is still in the file, I just clicked the "X" to get rid of it. Now I want to edit that form, but it wont let me, because I cant find it.
When I press the exit button (the red X) the process is still running in the system manager. So opening it more than once will end up meaning it will slowly start crashing the computer (if you don't restart).
I would like to know the event order of form which is executed while opening form. I am showing my form using following code and the code in form_load event executes twice. Once when the form variables are initialised and second when form is displayed. I want it to execute once only. form showing code:
How can I make it so that these messages don't show up in my output window from running my application inside visual studio (.NET) These stupid error codes flood my output window and I am doing some testing and using debug.print(" ") to print out vital information about potential bugs and now I have to search for the information like a needle in a haystack because of so many of these:
"The thread '<No Name>' (0x1e24) has exited with code 0 (0x0)."
My app starts an On-Screen Keyboard process like this:
Dim PID as System.Diagnostics.Process : PID = Process.Start("C:WindowsSystem32osk.exe") :
[CODE]...
It seems to work 90% of the time. However, sometimes the PID.Kill() fails because it says the process already exited. At this point the OSK is always still there on screen. Yes, I know my code should be testing to see if the process is still running before trying to kill it, but given that the OSK is still on screen..
Is it possible to set a project default for VB.NET winforms projects so that the default Modifier for controls added to winforms is Private (not Friend)?I know there's a "modifiers" property in the properties window so I can set it for each individual control however I would like to change the project so from now on myself and other developers have to specifically decide to change from friend to private. (Which I would strongly discourage them from doing).I believe there is no way of doing this, but on another forum a while ago someone mentioned it would be possible with an add-in (but didn't name the add-in or where to get it).
I've been working on a multi-form app for some time now, all of a sudden, I'm not able to run my app while debugging. I don't get any errors, but the forms don't load when I start debugging. The message in the Output simply reads: The program '[148] Geo.vshost.exe: Managed' has exited with code 0 (0x0). Any idea what's going on here?