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