Menus and Toolbars for WinForms
SourceControl プロパティ (C1ContextMenu)
使用例 

C1.Win.C1Command.4.5.2 アセンブリ > C1.Win.C1Command 名前空間 > C1ContextMenu クラス : SourceControl プロパティ
ショートカットメニューを表示しているコントロールを取得します。
シンタックス
'宣言
 
Public ReadOnly Property SourceControl As System.Windows.Forms.Control
public System.Windows.Forms.Control SourceControl {get;}
解説
このプロパティを使用して、 C1ContextMenuで定義されたショートカットメニューを現在表示しているコントロールを判定できます。現在ショートカットメニューが表示されていない場合、このプロパティを使用して直前にショートカットメニューを表示したコントロールを判定できます。 C1CommandMenu.Popupイベントでこのプロパティを使用して、コントロールが正しいメニュー項目を表示していることを確認します。このプロパティを使用して、ショートカットメニューに表示されたメニューコマンドに関連付けられたタスクを実行するメソッドに、コントロールへの参照を渡すこともできます。
使用例

次のコード例では、 C1ContextMenuC1CommandMenu.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);
}
参照

C1ContextMenu クラス
C1ContextMenu メンバ