2016-08-06 11 views
0

私は同様の質問に対する他のSOの回答をチェックしており、どれもこの問題と似ていません。.Net Windowsフォームドラッグドロップクラスデータを取得することができません

ドラッグアンドドロップを同じアプリケーション内のあるフォームから別のフォームに実行しています。

private void editor_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) 
{ 
if (e.Data.GetDataPresent(typeof(ComponentModel))) 
    { 
    e.Effect = DragDropEffects.Copy; 
    Log("Component Model Data is Present"); 
    } 
else 
    Log("Component Model Data is NOT Present"); 
} 

ComponentModelデータが存在している:私は(ドロップが発生する)受信フォームは、このような正確なデータを取得していることを確認してください。コンポーネントモデルは、ドラッグされたユーザーコントロールのTagプロパティ内に含まれるクラスです。

しかし、実際のComponentModelデータを取得する方法はありません。 ...私はComponentModelクラス内のデータにアクセスするにはどうすればよい

質問 をので、私は、データが存在しているはず - 私はデバッグを使用している場合、私は非パブリックメソッドを介してそれを得ることができますか?

答えて

0

これは、あなたがデータにアクセスする方法であることが判明:

if (e.Data.GetDataPresent(typeof(ComponentSelectionControl))) 
      { 
       var csc = e.Data.GetData("IDA.Controls.ComponentSelectionControl"); 
       e.Effect = DragDropEffects.Copy; 
       Log("Component Model Data is Present"); 


      } 
      else 
       Log("Component Model Data is NOT Present"); 

だから私は単純にドロップされる完全修飾コントロールを含む文字列とGetDataメソッドを使用します。私は通常通りTagプロパティにアクセスできます。

関連する問題