using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace ContextMenuStripTest {
public partial class Form1 : Form {
Control ContextMenuStrip1_Source;
public Form1() {
InitializeComponent();
contextMenuStrip1.Opening += contextMenuStrip1_Opening;
copyToolStripMenuItem.Click += CopyToolStripMenuItem_Click;
}
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) {
ContextMenuStrip Menu = sender as ContextMenuStrip;
if (Menu == null) {
return;
}
ContextMenuStrip1_Source = Menu.SourceControl;
}
private void CopyToolStripMenuItem_Click(object sender, EventArgs e) {
if (ContextMenuStrip1_Source == null) {
return;
}
Clipboard.SetText(ContextMenuStrip1_Source.Text);
}
}
}
OpeningイベントでContextMenuStrip.SourceControlを獲得し、広域変数に設定します。このSourceはControl型です。そのためControlから継承された、例えばTextなどはそのまま使用することができるため、いくつかのテキストボックスに1つのContextMenuStripを設定し、そのテキストボックスに入っている文字列を獲得する ということが出来ます。
0 件のコメント:
コメントを投稿