Aus*_*yan 5 c# version-control contextmenustrip
当他们从上下文菜单条中单击子菜单项(颜色>红色)时,我试图更改按钮的颜色。
该代码附加到用户定义的按钮数量。为了弄清楚他们试图更改哪个按钮,我尝试从子项目转到源代码管理,如下所示:发送者>所有者工具条>所有者菜单>源代码管理。
我的代码:
private void redToolStripMenuItem_Click(object sender, EventArgs e)
{
var subItem = sender as ToolStripItem;
if (subItem == null)
return;
var mainItem = subItem.OwnerItem as ToolStripItem;
if (mainItem == null)
return;
var menuStrip = mainItem.Owner as ContextMenuStrip;
if (menuStrip == null)
return;
var dataGridView = menuStrip.SourceControl as DataGridView;
if (dataGridView == null)
return; //null here
MessageBox.Show(dataGridView.Name);
}
Run Code Online (Sandbox Code Playgroud)
根据我在谷歌上发现的信息,这似乎是一个错误。有没有解决方法?