Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

OnKeyDown()

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    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:

    PHP Code:
    protected void OnKeyDown(KeyEventArgs keyEvent)
                {
                if (keyEvent.KeyCode == Keys.Insert)
                    Print("ins!");
                } 
    
    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.

    #2
    Originally posted by Radical View Post
    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:

    PHP Code:
    protected void OnKeyDown(KeyEventArgs keyEvent)
                {
                if (keyEvent.KeyCode == Keys.Insert)
                    Print("ins!");
                } 
    
    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.
    you have to assign the event. like in OnStartUp

    ChartControl.ChartPanel.KeyDown += new KeyEventHandler(OnKeyDown);

    do remove the event at OnTermination.

    coding from memory so there can be syntax err

    Comment


      #3
      Thanks for the tip. When I add that to my code:

      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);
              } 
      
      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.
      Last edited by Radical; 12-04-2011, 10:16 PM.

      Comment


        #4
        the method should be like

        private void OnKeyDown(object sender, KeyEventArgs e)
        {
        //do your stuff
        }

        Comment


          #5
          Wow, that worked, thanks! I had seen the "object sender, KeyEventArgs e" on the MSDN website and I tried putting them in various places, but I didn't try it in OnKeyDown. Thanks again.

          Comment


            #6
            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 CarlTrading, 05-11-2026, 05:56 AM
            0 responses
            26 views
            0 likes
            Last Post CarlTrading  
            Started by CarlTrading, 05-10-2026, 08:12 PM
            0 responses
            20 views
            0 likes
            Last Post CarlTrading  
            Started by Hwop38, 05-04-2026, 07:02 PM
            0 responses
            182 views
            0 likes
            Last Post Hwop38
            by Hwop38
             
            Started by CaptainJack, 04-24-2026, 11:07 PM
            0 responses
            335 views
            0 likes
            Last Post CaptainJack  
            Started by Mindset, 04-21-2026, 06:46 AM
            0 responses
            260 views
            0 likes
            Last Post Mindset
            by Mindset
             
            Working...
            X