|
Hongliang さん ご丁寧なご指導ありがとうございます。 ただ、非常に高度な内容なので、MyTreeNodeへの値の与え方(tn1.題 のセット方法)がわかりません。もう一度ご指導下さい。
public Form5() { InitializeComponent(); 失敗(); } void 失敗() { // クリップボードにセット DataFormats.Format myF = DataFormats.GetFormat("myF"); //SerializationInfo si = new SerializationInfo(); // <<<--- MyTreeNodeへの値の与え方がわからない MyTreeNode tn1 = new MyTreeNode(); tn1.題 = "あいうえお"; DataObject obj = new DataObject(); obj.SetData(myF.Name, tn1); Clipboard.SetDataObject(obj);
// クリップボードから取り出し DataFormats.Format fm = DataFormats.GetFormat("myF"); IDataObject dt = Clipboard.GetDataObject(); MyTreeNode tn2 = (MyTreeNode)dt.GetData(fm.Name); if (tn2 != null) // <<<--- ここでNullになってしまう。 Console.WriteLine("失敗 = {0} ", tn2.題); }
public class MyTreeNode : TreeNode // , ISerializable { public string 題;
public MyTreeNode() { }
public MyTreeNode(SerializationInfo si, StreamingContext context) { this.題 = si.GetString("題"); }
public void GetObjectData(SerializationInfo si, StreamingContext context) { //base.GetObjectData(si, context); si.AddValue("題", this.題); } }
|