2014-08-28 2 views
0

Привет всем Я знаю, как по умолчанию Ярлыки и Picture Box не может иметь фокус, я Разработайте метод на форме ключа вниз, чтобы переместить эти элементы управления О с помощью кнопок со стрелкамиDynamic Video Player не отпустит FOCUS

Когда я Сделать Динамическое управление видеопроигрывателем, я больше не могу перемещать эти элементы управления, и форма не появляется, чтобы получить фокус больше

Я пробовал это. Сфокусировавшись после создания видеопроигрывателя, есть ли что-нибудь, о чем можно подумать, возможно, может сосредоточиться на форма постоянная

Если код примера нужен, я буду копировать, но сам код представляется как fi пе видеопроигрыватель просто держит в центре внимания

Форма 1 KeyDown

 if (SenderS == "Label") 
     { 
      // Label b = sender as Label; 
      Label b = (Label)Controls[ControlID]; 
      int x = b.Location.X; 
      int y = b.Location.Y; 

      if (e.KeyCode == Keys.Right) x += 1; 
      else if (e.KeyCode == Keys.Left) x -= 1; 
      else if (e.KeyCode == Keys.Up) y -= 1; 
      else if (e.KeyCode == Keys.Down) y += 1; 

      b.Location = new Point(x, y); 
     } 

Этикетка мыши вниз

 SenderS = "Label"; 
     Label b=sender as Label; 

     ControlID = b.Name; 

Этот код работает отлично, но когда видео добавляется к форме я больше не может использовать это Я предполагаю, что форма больше не принимает событие keydown

+0

и код за то, что вы делаете, ....... ?? – terrybozzio

+0

@terrybozzio Я добавляю пример кода того, что я делаю – user3027738

ответ

0

Представлено в качестве общего назначения. Сначала вам необходимо переопределить метод IsInputKey:

 private void YourControl_KeyDown(object sender, KeyEventArgs e) 
     { 
      //your logic here 
     } 

     protected override bool IsInputKey(System.Windows.Forms.Keys keyData) 
     { 
      switch (keyData) 
      { 
       case Keys.Right: 
       case Keys.Left: 
       case Keys.Up: 
       case Keys.Down: 
        return true; 
      } 
      return base.IsInputKey(keyData); 
     } 

Или переопределить метод ProcessCmdKey.

+0

Это исправлено с моей проблемой, я буду отмечать ее как правильную, хотя я не понимаю, почему бы вам не объяснить, что она делает? – user3027738

+0

его высказывание относилось к этим ключам как к входным данным, потому что в реализации эти ключи не учитываются в событии keydown (очень часто говоря). – terrybozzio

+0

Спасибо за помощь и информацию, я узнаю что-то новое каждый день ^^ – user3027738

 Смежные вопросы

  • Нет связанных вопросов^_^