有什么方法可以返回我在winform App中单击的控件的名称

问题描述

|| 我在表单中有10个复选框...而我想要的是当我右键单击一个复选框并单击contextmenu上的edit时,该复选框的文本值应该会更改。 所以我要针对的是该复选框,而我右键单击的那个复选框就占10个。 甚至不能使用sender对象,因为当我们在上下文菜单上单击Edit时,sender对象将返回\“ Edit \”。

解决方法

假设您在窗体上有多个复选框,并为每个复选框分配了一个ContextMenuStrip。您可以在contex菜单项单击处理程序中获取复选框对象,如下所示:
    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
的变量中,然后可以引用该变量。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...