我在表单中有10个复选框...而我想要的是当我右键单击复选框并单击上下文菜单上的编辑时,复选框的文本值应该更改。 所以我想要的是定位复选框和我右键单击的那个复选框10。 甚至使用发件人对象作为发件人对象将返回“编辑”,因为我们点击上下文菜单上的编辑..
答案 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
之类的变量中,然后您可以参考该变量。