使用“keyEventArgs”作为参数调用方法

时间:2014-03-02 18:58:35

标签: c# winforms invoke keyeventargs

我有2个问题。

  1. 第一个主要问题是如何在尝试调用包含KeyEventArgs e的方法作为参数时修复错误。我只知道如何处理变量时的参数。

  2. 如果while循环将执行此操作,则第二个只是一个快速问题,程序在打印文本(标签)之前等待(keydown)

    namespace Test2014
    {
        public partial class Form1 : Form
        {
            List<Action> methods = new List<Action>();
    
            public Form1()
            {
                InitializeComponent();
    
                // 1. Error invalid arguments
                methods.Insert(0, test); // 1.  passing ( KeyEventArgs e ) as argument ?
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                methods[0].Invoke();
    
            }
    
    
            void test(KeyEventArgs e) // 1. passing ( KeyEventArgs e ) as argument ?
            {          
                while (true) 
                {
    
                    if (e.KeyCode == Keys.A)  // 2. do this work as wait for keydown before moving down ?
                        break;
    
                } // 2.
                label_test.Text = "When Loop is broken (key down(A)) change this label";
            }
        }
    }
    

0 个答案:

没有答案