Winform获取当前拥有焦点的控件
|
The .Net framework libraries does not provide you an API to query for the focused Control. You have to invoke a windows API to do so: |
| [C#] |
| public class MyForm : Form |
| { |
| [DllImport("user32.dll", CharSet=CharSet.Auto, CallingConvention=CallingConvention.Winapi)] |
| internal static extern IntPtr GetFocus(); |
| private Control GetFocusedControl() |
| { |
| Control focusedControl = null; |
| // To get hold of the focused control: |
| IntPtr focusedHandle = GetFocus(); |
| if(focusedHandle != IntPtr.Zero) |
| // Note that if the focused Control is not a .Net control, then this will return null. |
| focusedControl = Control.FromHandle(focusedHandle); |
| return focusedControl; |
| } |
| } |

浙公网安备 33010602011771号