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 Geovanny Suaza, 02-11-2026, 06:32 PM
            0 responses
            648 views
            0 likes
            Last Post Geovanny Suaza  
            Started by Geovanny Suaza, 02-11-2026, 05:51 PM
            0 responses
            369 views
            1 like
            Last Post Geovanny Suaza  
            Started by Mindset, 02-09-2026, 11:44 AM
            0 responses
            108 views
            0 likes
            Last Post Mindset
            by Mindset
             
            Started by Geovanny Suaza, 02-02-2026, 12:30 PM
            0 responses
            572 views
            1 like
            Last Post Geovanny Suaza  
            Started by RFrosty, 01-28-2026, 06:49 PM
            0 responses
            573 views
            1 like
            Last Post RFrosty
            by RFrosty
             
            Working...
            X