C# 有没有办法返回我在winform应用程序中单击的控件的名称

C# 有没有办法返回我在winform应用程序中单击的控件的名称,c#,.net,C#,.net,我在表格中有10个复选框。。。我想要的是,当我右键单击复选框并单击上下文菜单上的编辑时,复选框的文本值应该会更改。。 所以我想要的是针对我右键单击的10个复选框中的复选框。。 甚至不能使用sender对象作为sender对象,当我们单击关联菜单上的编辑时,sender对象将返回“Edit”..附加到复选框控件上的MouseDown事件,查看是否单击了鼠标右键(MouseButtons.right)并将其存储在一个变量中,如currentCheckBox,然后可以引用该变量。假设表单上有多个复选框

我在表格中有10个复选框。。。我想要的是,当我右键单击复选框并单击上下文菜单上的编辑时,复选框的文本值应该会更改。。 所以我想要的是针对我右键单击的10个复选框中的复选框。。
甚至不能使用sender对象作为sender对象,当我们单击关联菜单上的编辑时,sender对象将返回“Edit”..

附加到复选框控件上的
MouseDown
事件,查看是否单击了鼠标右键(
MouseButtons.right
)并将其存储在一个变量中,如
currentCheckBox
,然后可以引用该变量。

假设表单上有多个复选框,并且为每个复选框分配了一个ContextMenuStrip。您可以在contex菜单项单击处理程序中获取复选框对象,如下所示:

("Edit".Parent as ContextMenu/ContextMenuStrip).SourceControl
    private void changeToolStripMenuItem_Click(object sender, EventArgs e)
    {
        CheckBox myCheckbox = (((sender as ToolStripDropDownItem).Owner as ContextMenuStrip).SourceControl as CheckBox);
        myCheckbox.Text = DateTime.Now.ToString();
    }

您使用什么类作为上下文菜单?