English 中文(简体)
Form move events in Windows Forms
原标题:

My problem is the following: i have a state machine inside an app and i need to be able to pause the current states s ProcessInput function as long as the user moves the form along the screen.

I have a property called "Paused" on the state which does that and i override the OnMove event of the form so that the property is set to true when the event fires.

How do I resume the ProcessInput function of the state when the user is no longer moving the form? (To be more specific, i am looking for an event to put a "state.Paused = false" in it)

Thx in advance for your help!

问题回答

Not sure if there s a specific event you can listen for, but how about using some sort of timer based workaround?

Create a timer, reset and enable the timer every time a move event occurs. Once the timer actually fires (hasn t been reset for the duration it s set to), then set state.Paused = false.

May be a bit rudimentry, but it should work...

You need WM_MOVE message, it is send when the move is done. I don t remember whether there is a handler (an event) in WinForms for it, but in worst case you can override window s WndProc and process the message manually - in "old school" C style.





相关问题
Bring window to foreground after Mutex fails

I was wondering if someone can tell me what would be the best way to bring my application to the foreground if a mutex was not able to be created for a new instance. E.g.: Application X is running ...

How to start WinForm app minimized to tray?

I ve successfully created an app that minimizes to the tray using a NotifyIcon. When the form is manually closed it is successfully hidden from the desktop, taskbar, and alt-tab. The problem occurs ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

Handle DataTable.DataRow cell change event

I have a DataTable that has several DataColumns and DataRow. Now i would like to handle an event when cell of this DataRow is changed. How to do this in c#?

Apparent Memory Leak in DataGridView

How do you force a DataGridView to release its reference to a bound DataSet? We have a rather large dataset being displayed in a DataGridView and noticed that resources were not being freed after the ...

ALT Key Shortcuts Hidden

I am using VS2008 and creating forms. By default, the underscore of the character in a textbox when using an ampersand is not shown when I run the application. ex. "&Goto Here" is not ...

WPF-XAML window in Winforms Application

I have a Winforms application coded in VS C# 2008 and want to insert a WPF window into the window pane of Winforms application. Could you explain me how this is done.

热门标签