'宣言 Public ReadOnly Property SourceControl As System.Windows.Forms.Control
public System.Windows.Forms.Control SourceControl {get;}
'宣言 Public ReadOnly Property SourceControl As System.Windows.Forms.Control
public System.Windows.Forms.Control SourceControl {get;}
次のコード例では、 C1ContextMenuの C1CommandMenu.Popupイベントのイベントハンドラを作成します。イベントハンドラのコードは、pictureBox1 という名前の PictureBox と textBox1 という名前の TextBox の2つのコントロールのどれがショートカットメニューを表示するコントロールであるかを判定します。
どのコントロールによって C1ContextMenuがそのショートカットメニューを表示するかに応じて、そのコントロールは C1Commandの該当するメニュー項目を表示または非表示にします。
この例では、c1ContextMenu1 という名前の C1ContextMenuクラスのインスタンスがフォーム内に定義されている必要があります。c1ContextMenu には、[コピー]、[検索]、[画像の変更]メニュー項目が必要です。この例では、TextBox と PictureBox がフォームに追加され、これらのコントロールの C1ContextMenu プロパティが c1ContextMenu1 に設定されている必要もあります。
private void c1ContextMenu1_Popup(object sender, EventArgs e) { Control c = c1ContextMenu1.SourceControl; // textBox1の"コピー"および"検索"が表示されます c1CommandCopy.Visible = (c == textBox1); c1CommandFind.Visible = (c == textBox1); // pictureBox1の"画像の変更"が表示されます c1CommandChangePicture.Visible = (c == pictureBox1); }