有没有办法返回我在winform App中单击的控件的名称

时间:2011-04-19 09:26:23

标签: c# .net

我在表单中有10个复选框...而我想要的是当我右键单击复选框并单击上下文菜单上的编辑时,复选框的文本值应该更改。 所以我想要的是定位复选框和我右键单击的那个复选框10。 甚至使用发件人对象作为发件人对象将返回“编辑”,因为我们点击上下文菜单上的编辑..

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

("Edit".Parent as ContextMenu/ContextMenuStrip).SourceControl

答案 2 :(得分:-1)

附加到复选框控件上的MouseDown事件,看看是否点击了鼠标右键(MouseButtons.Right)并将其存储在currentCheckBox之类的变量中,然后您可以参考该变量。