クリップボードを使用してコントロール インスタンスをコピー ペーストしようとしています。コントロールをコピーできますが、コピーしたオブジェクトを取り戻すことができません。
以下サンプルコード。
[Serializable]
public class myControl
{
private Control _copiedControl;
public myControl(Control ctrl)
{
_copiedControl = ctrl;
}
public Control CopiedControl
{
get
{
return _copiedControl;
}
set
{
_copiedControl = value;
}
}
}
private void btnCopy_Click(object sender,EventArgs e)
{
Clipboard.SetData("myControl", new myControl((Control)myButton));
}
private void btnPaste_Click(object sender, EventArgs e)
{
if(Clipboard.ContainsData("myControl"))
{
// Condition is satisfied here..
myControl obj = Clipboard.GetData("myControl") as myControl;
// obj is null and control is lost..
if(obj != null)
{
myPanel.Controls.Add(obj.CopiedControl);
}
}
}
GetData() メソッドを使用して、コピーされたコントロールを取得できません。何が間違っているのかわかりません。誰かが私を導くことができますか?