こんにちは私はラベル(c#、winforms)にコンテキストメニューを追加しました。3つの子アイテムがあるコンテキストメニューで、コンテキストメニューアイテムのいずれかをクリックしたときにラベルテキストを表示したい。
前もって感謝します
こんにちは私はラベル(c#、winforms)にコンテキストメニューを追加しました。3つの子アイテムがあるコンテキストメニューで、コンテキストメニューアイテムのいずれかをクリックしたときにラベルテキストを表示したい。
前もって感謝します
ContextMenuStrip
コントロールには、それSourceControl
を開いたコントロールへの参照を持つプロパティがあります。それを使用して、コントロールからテキストを抽出できます。
private void MenuStripItem_Click(object sender, EventArgs e)
{
ToolStripItem item = (sender as ToolStripItem);
if (item != null)
{
ContextMenuStrip owner = item.Owner as ContextMenuStrip;
if (owner != null)
{
MessageBox.Show(owner.SourceControl.Text);
}
}
}
a の代わりに a をContextMenuStrip
使用するContextMenu
と、コードは次のようになります。
private void menuItem1_Click(object sender, EventArgs e)
{
MenuItem item = (sender as MenuItem);
if (item != null)
{
ContextMenu owner = item.Parent as ContextMenu;
if (owner != null)
{
MessageBox.Show(owner.SourceControl.Text);
}
}
}
コンテキスト メニューの親コントロール名を取得 MessageBox.Show(contextMenuStrip1.SourceControl.Name.ToString());