منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : وضع كائن بالذاكرة برمجياً
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام الله عليكم جميعا


سوف اعيد سؤال سألته مع ظهور فيجوال 2005 وفي منتدى دلفي للعرب القديم ولم يكن هناك اجابة وقتها
ربما الان صار هناك من يعلم

السؤال هو كيف اضع كائن ما زر مثلا في الذاكرة برمجياً بوقت التشغيل تم الصقه على النموذج بوقت التصميم

اي انشي الزر واضعه في الذاكرة بحيث لو قمت بعملية لصق يتم وضعه على النموذج

والسؤال الثاني هل هناك طريقة لعرض محتويات الذاكرة لكائنات قمت بنسخها من على النموذج بوقت التصميم

جربت هذا ولم ينجح لوضع كائن ما بالذاكرة ولم يفلح

كود :
Dim k As New Button
Clipboard.SetDataObject(k)

فعندما اقفلت المشروع وحاولت اللصق على النموذج كانت الحافضة خالية

وشكرا
كود :
Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary

' Create a button at runtime
Dim button As New Button()
button.Text = "Click Me"
button.Location = New Point(50, 50)

' Serialize the button object to a memory stream
Dim stream As New MemoryStream()
Dim formatter As New BinaryFormatter()
formatter.Serialize(stream, button)

' Set the memory stream as a custom clipboard format
Dim dataObject As New DataObject()
dataObject.SetData("MyButton", stream)
Clipboard.SetDataObject(dataObject)
جزاك الله كل خير

ساحاول مع هذه الطريق ولو ان بها خطاء

إقتباس :Name
Value
Type

$exception
{"Type 'System.Windows.Forms.Button' in Assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable."}
System.Runtime.Serialization.SerializationException