protected void OnKeyDown(KeyEventArgs keyEvent)
{
if (keyEvent.KeyCode == Keys.Insert)
Print("ins!");
}
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
OnKeyDown()
Collapse
X
-
OnKeyDown()
I think this is outside the scope of NT support, but if anyone else knows how this would work, it would be great if you could give me a hint. I'm trying to have a strategy detect a keystroke, and after spending some time reading I came up with the following:
This compiles fine, but when I press the insert key while the strategy is running, nothing happens. Another thing I noticed is that NOTHING seems to work inside this method, like I added a line to print some text if Close[0] > 0, and nothing prints. So does anyone have any ideas as to why this isn't working? I have included the System.Windows.Forms namespace, which I guess is required. Thanks.PHP Code:Tags: None
-
you have to assign the event. like in OnStartUpOriginally posted by Radical View PostI think this is outside the scope of NT support, but if anyone else knows how this would work, it would be great if you could give me a hint. I'm trying to have a strategy detect a keystroke, and after spending some time reading I came up with the following:
This compiles fine, but when I press the insert key while the strategy is running, nothing happens. Another thing I noticed is that NOTHING seems to work inside this method, like I added a line to print some text if Close[0] > 0, and nothing prints. So does anyone have any ideas as to why this isn't working? I have included the System.Windows.Forms namespace, which I guess is required. Thanks.PHP Code:protected void OnKeyDown(KeyEventArgs keyEvent) { if (keyEvent.KeyCode == Keys.Insert) Print("ins!"); }
ChartControl.ChartPanel.KeyDown += new KeyEventHandler(OnKeyDown);
do remove the event at OnTermination.
coding from memory so there can be syntax err
-
Thanks for the tip. When I add that to my code:
I get the error "No overload for 'OnKeyDown' matches delegate 'System.Windows.Forms.KeyEventHandler' for the line where I assign it and the line where I remove it.PHP Code:protected override void OnStartUp() { ChartControl.ChartPanel.KeyDown += new KeyEventHandler(OnKeyDown); } protected void OnKeyDown(KeyEventArgs keyEvent) { if (keyEvent.KeyCode == Keys.Insert) Print("ins!"); } protected override void OnTermination() { ChartControl.ChartPanel.KeyDown -= new KeyEventHandler(OnKeyDown); }Last edited by Radical; 12-04-2011, 10:16 PM.
Comment
-
Note using "new KeyEventHandler" as above is superfluous. You can just use the method name directly as the compiler will figure it out.
protected override void OnStartUp()
{
ChartControl.ChartPanel.KeyDown += MyEventHandlerMethod;
}
protected override void OnTermination()
{
ChartControl.ChartPanel.KeyDown -= MyEventHandlerMethod;
}
public void MyEventHandlerMethod(object sender, KeyEventArgs e)
{
Print("It works!");
}
Comment
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by Geovanny Suaza, 02-11-2026, 06:32 PM
|
0 responses
648 views
0 likes
|
Last Post
|
||
|
Started by Geovanny Suaza, 02-11-2026, 05:51 PM
|
0 responses
369 views
1 like
|
Last Post
|
||
|
Started by Mindset, 02-09-2026, 11:44 AM
|
0 responses
108 views
0 likes
|
Last Post
by Mindset
02-09-2026, 11:44 AM
|
||
|
Started by Geovanny Suaza, 02-02-2026, 12:30 PM
|
0 responses
572 views
1 like
|
Last Post
|
||
|
Started by RFrosty, 01-28-2026, 06:49 PM
|
0 responses
574 views
1 like
|
Last Post
by RFrosty
01-28-2026, 06:49 PM
|

Comment