C#中是否有一個函數可以返回Focused元素的名稱並將其顯示在文本框中?獲取C#中Focused元素的名稱#
1
A
回答
6
,或者你可以做這樣的事情......
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(GetFocusControl());
}
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Winapi)]
internal static extern IntPtr GetFocus();
private string GetFocusControl()
{
Control focusControl = null;
IntPtr focusHandle = GetFocus();
if (focusHandle != IntPtr.Zero)
focusControl = Control.FromHandle(focusHandle);
if (focusControl.Name.ToString().Length == 0)
return focusControl.Parent.Parent.Name.ToString();
else
return focusControl.Name.ToString();
}
}
}
0
這個函數會返回聚焦控制的索引表格
private int GetIndexFocusedControl()
{
int ind = -1;
foreach (Control ctr in this.Controls)
{
if (ctr.Focused)
{
ind = (int)this.Controls.IndexOf(ctr);
}
}
return ind;
}
當你發現重點控制的指標可以從控件集合訪問此控制
int indexFocused = GetIndexFocusedControl();
textBox1.Text = this.Controls[indFocused].Name; // access the Name property of control
1
假設的WinForms,你可以使用Form.ActiveControl
屬性找到活動(聚焦)控件並獲取名稱。
否則,如果這是一個WPF項目,您可以使用FocusManager.GetFocusedElement()
方法找到它。
相關問題
- 1. 獲取元素名稱
- 2. Javascript - 從元素名稱獲取元素?
- 3. 在XPath中獲取父元素名稱
- 4. 在rapply中獲取元素名稱
- 5. 在DocumentEvent中獲取元素名稱
- 6. 如何獲取具有以下名稱的元素:名稱中?
- 7. 在ExpandableListView中獲取子元素的名稱或名稱
- 8. 的元素名稱獲取XML值
- 9. 獲取唯一元素名稱的XPath
- 10. 獲取子元素的名稱
- 11. BCEL - 獲取類名稱,元素名稱和方法名稱
- 12. 按名稱獲取元素字符串
- 13. 獲取元素ID由名稱
- 14. 按名稱獲取XML元素
- 15. 從JSON獲取元素屬性名稱
- 16. 使用jQuery獲取DOM元素名稱
- 17. 獲取元素名稱與GSON
- 18. 按屬性名稱獲取HTML元素
- 19. 通過名稱/編號獲取元素
- 20. Javascript按名稱獲取子元素
- 21. 使用XPath/XQuery獲取元素名稱
- 22. 如何通過給定的元素名稱獲取pvob名稱?
- 23. 如何通過JavaScript的元素名稱獲取子元素?
- 24. 獲取確切名稱枚舉元素在C#
- 25. 如何使用C#從XElement獲取元素名稱?
- 26. ActionScript - 獲取庫中元素的名稱或「鏈接到AS3」的名稱
- 27. 獲取在複選框中選中元素的名稱
- 28. 通過JQuery獲取父元素的data-attribute中的目標元素名稱
- 29. 獲取元素ID使用類名與C中具有相同類名稱的多個元素#
- 30. 如何獲取元素值爲1的所有元素名稱到數組中?
什麼嵌套的控制? – Dyppl
你可以迭代和找到集中控制在容器元素相同的方式作爲面板等 – Serghei
是的,但你的代碼不會這樣做 – Dyppl