動的に作成されたと「削除」という名前PictureBox
のがあります...クリックされたのみを削除したいのですが、これはすべての に添付されています。ContextMenu
ToolStripMenuItem
PictureBox
ContextMenu
PictureBox
どうやってするの ?そして初心者なので教えてください。
コントロールにたどり着くまで、一連のメニュー所有者をたどる必要があります。
private void RemoveMenuItem_Click(object sender, EventArgs e) {
ToolStripMenuItem ti = sender as ToolStripMenuItem;
ContextMenuStrip cs = ti.Owner as ContextMenuStrip;
PictureBox pb = cs.SourceControl as PictureBox;
MessageBox.Show(pb.Name); // or pb.Dispose();
}
このコードはエラー チェックを行っていません。プロパティにアクセスする前に、これらの変数のいずれかが null かどうかを確認する必要があります。
Cody Gray はここで包括的な回答を提供しました: ContextMenuStrip が使用されたコントロールを決定する