是否有任何方法返回控件的名称,我点击在winform应用程序

本文关键字:应用程序 winform 任何 方法 返回 控件 是否 | 更新日期: 2023-09-27 17:50:37

我在一个表单中有10个复选框…我想要的是,当我右键单击一个复选框,点击编辑上的上下文菜单,然后复选框的文本值应该改变..所以我想要的是目标的复选框和复选框在10中,我右键单击。甚至不能使用sender对象,因为当我们点击上下文菜单上的Edit时,sender对象将返回"Edit" .

是否有任何方法返回控件的名称,我点击在winform应用程序

假设表单上有几个复选框,并为每个复选框分配一个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();
    }
("Edit".Parent as ContextMenu/ContextMenuStrip).SourceControl

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