//场景初始化函数
public StartScene()
{
  this.KeyDown += ModelViewerControl_KeyDown;
  his.KeyUp += ModelViewerControl_KeyUp;
}

bool alt_key_flag = false;

bool shift_key_flag = false;

bool ctrl_key_flag = false;


//键盘按键按下事件
void ModelViewerControl_KeyDown(object sender, KeyEventArgs e)
{
  //1.常规点击 KeyDown 方法
  if (System.Windows.Forms.Keys.ShiftKey == e.KeyCode)
  {
    shift_key_flag = true;
  }
  if (System.Windows.Forms.Keys.ControlKey == e.KeyCode)
  {
    ctrl_key_flag = true;
  }
  //2.alt.shift.ctrl 点击 KeyDown 方法
  if (e.Alt)
  {
    alt_key_flag = true;
  }
  if (e.Shift)
     {
    shift_key_flag = true;
  }
  if (e.Control)
  {
    ctrl_key_flag = true;
  }
  //3.alt.shift.ctrl 点击 KeyDown 方法
  if (System.Windows.Forms.Keys.Alt==e.Modifiers)
  {
    alt_key_flag = true;
  }
  if (System.Windows.Forms.Keys.Shift == e.Modifiers)
  {
    shift_key_flag = true;
  }
  if (System.Windows.Forms.Keys.Control == e.Modifiers)
  {
    ctrl_key_flag = true;
  }
}
//键盘按键抬起事件
void ModelViewerControl_KeyUp(object sender, KeyEventArgs e)
{
  //1.常规点击 KeyUp 方法
  if (System.Windows.Forms.Keys.ShiftKey == e.KeyCode)
  {
    shift_key_flag = false;
  }
  if (System.Windows.Forms.Keys.ControlKey == e.KeyCode)
  {
    ctrl_key_flag = false;
  }
  //2.alt.shift.ctrl 点击 KeyUp 方法
  if (!e.Alt)
  {
    alt_key_flag = false;
  }
  if (!e.Shift)
  {
    shift_key_flag = false;
  }
  if (!e.Control)
  {
    ctrl_key_flag = false;
  }
  //3.alt.shift.ctrl 点击 KeyUp 方法
  if (System.Windows.Forms.Keys.Alt!=e.Modifiers)
  {
    alt_key_flag = false;
  }
  if (System.Windows.Forms.Keys.Shift != e.Modifiers)
  {
    shift_key_flag = false;
  }
  if (System.Windows.Forms.Keys.Control != e.Modifiers)
  {
    ctrl_key_flag = false;
  }
}

posted on 2019-06-12 16:07  _萧朗  阅读(405)  评论(0编辑  收藏  举报