1

動的に作成されたと「削除」という名前PictureBoxのがあります...クリックされたのみを削除したいのですが、これはすべての に添付されています。ContextMenuToolStripMenuItemPictureBoxContextMenuPictureBox

どうやってするの ?そして初心者なので教えてください。

4

1 に答える 1

3

コントロールにたどり着くまで、一連のメニュー所有者をたどる必要があります。

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 が使用されたコントロールを決定する

于 2013-11-11T17:10:37.753 に答える