2013-12-23 5 views
0

Мне удалось получить клавиатуру в окнах 8, чтобы показать при нажатии на поле NumericUpDown в новой форме, которую я создал. К сожалению, кажется, что после закрытия клавиатуры на «потерянном фокусе» окно искажено и не будет показывать всю программу до тех пор, пока это всплывающее окно не будет закрыто.C# закрытие максимизированной клавиатуры отключает программу

//Close keyboard 
void CopiedNudPass_LostFocus(object sender, EventArgs e) 
{ 

    Version win8version = new Version(6, 2, 9200, 0); 

    if (Environment.OSVersion.Version >= win8version) 
    { 
     Process[] oskProcessArray = Process.GetProcessesByName("TabTip"); 
     foreach (Process onscreenProcess in oskProcessArray) 
     { 
      onscreenProcess.Kill(); 
     } 
    Refresh(); 
    } 
} 

Так что, в основном, мне нужно обновить фоновое окно при закрытии клавиатуры из открытой формы. Любые советы приветствуются. Спасибо.

ответ

0

Я нашел решение здесь:

After killing the process for TabletKeyboard(TabTip.exe) application doesn't bring back to its original size in wpf

Вот мой новый близкий код:

//Close keyboard 
void CopiedNudPass_LostFocus(object sender, EventArgs e) 
{ 
     Version win8version = new Version(6, 2, 9200, 0); 

     if (Environment.OSVersion.Version >= win8version) 
     { 
      uint WM_SYSCOMMAND = 274; 
      uint SC_CLOSE = 61536; 
      IntPtr KeyboardWnd = FindWindow("IPTip_Main_Window", null); 
      PostMessage(KeyboardWnd.ToInt32(), WM_SYSCOMMAND, (int)SC_CLOSE, 0); 
     } 
} 

Я также должен добавить ссылку на WindowsBase и добавить внешние функции к проекту. Шаги и дополнительный код находятся в URL-адресе, с которым я связан в этом сообщении. Вот как вы добавляете ссылку для WindowsBase для использования System.Windows.Interop; работать:

  1. правой кнопкой мыши на проекте
  2. Highlight Добавить и нажмите Ссылка
  3. Убедитесь в наличии Framework выбран под Ассамблей
  4. прокрутки вниз и проверить в «WindowsBase» и нажмите кнопку ОК
  5. Добавить используя System.Windows.Interop; в верхней части вашего кода и сделанного вами

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

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