程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 如何移動邏輯焦點、鍵盤焦點,移動邏輯焦點鍵盤

如何移動邏輯焦點、鍵盤焦點,移動邏輯焦點鍵盤

編輯:關於.NET

如何移動邏輯焦點、鍵盤焦點,移動邏輯焦點鍵盤


‘在 WPF 中,有兩個與焦點有關的主要概念:鍵盤焦點和邏輯焦點。 鍵盤焦點指接收鍵盤輸入的元素,而邏輯焦點指焦點范圍中具有焦點的元素。 本概述將詳細介紹這些概念。 理解這些概念之間的區別對於創建具有可以獲取焦點的多個區域的復雜應用程序是非常重要的。’  摘自 Microsoft MSDN 焦點概述

一直以來,我寫的項目都有鍵盤焦點的問題,比如 Click 了一個 Button 以後出現下次按回車還會觸發 Click ,還有就是 TextBox 輸入完成後想把鍵盤焦點轉移到其他非 TextBox 輸入框的控件上。

後面在解決這個問題的過程中看到一篇在 stackoverflow 上的提問,發現了可以使用 Keyboard 和 FocusManager 來移動焦點。

C#:

 1 private void Focus(bool value)
 2 {
 3     if (value)
 4         Dispatcher.BeginInvoke(DispatcherPriority.Input,new Action(delegate ()
 5         {
 6             Keyboard.ClearFocus();               //清空鍵盤焦點
 7             FocusManager.SetFocusedElement(this, null);  //將邏輯焦點移動主窗體
 8             Keyboard.Focus(this);               //將鍵盤焦點已到主窗體
 9         }));
10 }

 

引用

https://msdn.microsoft.com/zh-cn/library/aa969768(v=vs.110).aspx

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved