窗体上动态加载了很多控件,有Label TextBox CheckBox Combox等
所有的控件都定义了同一个事件 Controls_MouseMove,请问如何在事件内判断当前引发事件的什么类型的控件        private void Controls_MouseMove(object sender, EventArgs e)
        {
            switch (typeof(sender))   //这里应该怎么写
            { 
                case "TextBox":
                     break;
                Case "Label":
                
                ............
            }
        }

解决方案 »

  1.   

    sender.GetType().ToString()
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
    http://feiyun0112.cnblogs.com/
      

  2.   

    switch( sender.GetType() )
    {
      case typeof( Textbox ):
         break;
      case typeof( Label ):
         break;
    }
      

  3.   

    你不能使用这样的方法来判断对象的类型。在switch中出现的必须是integral类型的值,比如:整数、字符串(比较的仍然是整数)等。所以你无法比较对象的“类型”对象。但你可以使用另外一个方法:
    switch(sender.GetType().ToString())
    {
       case "TextBox":
    //...
    }
      

  4.   

    谢谢以上各位,回答这么快哈!
    再接着问一个:
    我现在在做一个窗体设计器控件,如何模拟WinForm窗体设计器中选中某个控件就在选中的空间中显示八个小方格,并通过这些方格实现拖动改变控件大小的功能
      

  5.   

    switch (((Control)sender).GetType)是这样的