private void AddDTPtoToolstrip(int n)
        {
            DateTimePicker dtp = new DateTimePicker();
            dtp.Width = 90;
            dtp.Format = DateTimePickerFormat.Custom;
            ToolStripControlHost host1 = new ToolStripControlHost(dtp);
            toolStrip1.Items.Insert(n, host1);
        }
我想获得KeyUp和CloseUp事件请问我该怎么写这段代码?

解决方案 »

  1.   

    public static void dtp_KeyUp(object sender, KeyEventArgs e)
            {
                //测试
                //MessageBox.Show(((DateTimePicker)sender).Width.ToString());
            }
    private void AddDTPtoToolstrip(int n)
            {
                DateTimePicker dtp = new DateTimePicker();            dtp.KeyUp+=new KeyEventHandler(dtp_KeyUp);            dtp.Width = 90;
                dtp.Format = DateTimePickerFormat.Custom;
                ToolStripControlHost host1 = new ToolStripControlHost(dtp);
                toolStrip1.Items.Insert(n, host1);
            }
    //static可以去掉。。
    请看一下
      

  2.   

    CloseUp事件也是同样的,我理解错了的话请说,事件注册之外可以用委托吧。。
      

  3.   

    MenuStrip1.KeyUp += menuStrip1_KeyUp;
    foreach (ToolStripItem t in MenuStrip1.Items) {
    ToolStripMenuItem testitem = t as ToolStripMenuItem;
             if (testitem.DropDownItems.Count > 0) {
    testitem.DropDown.KeyUp += DropDown_KeyUp;
    } }
    private void menuStrip1_KeyUp(object sender, KeyEventArgs e)
    {
    Console.WriteLine(e.KeyData.ToString());
    }