PDA

View Full Version : سوال: فرستادن یک کپی کنترل از فرمی به فرم دیگر و add کردنش



omidjadidolislam
سه شنبه 26 شهریور 1387, 10:25 صبح
سلام
آقا میخوام ابزارهایی را از روی یک فرمم به فرم دیگر بفرستم ودر فرم جدید، کنترلهایی را که در اولی داشتم ،در این فرم هم add کنم.
البته به شرط اینکه از فرم اولم پاک نشه و فقط یک کپی از کنترلهایم به فرم دیگر برود و با نوشتن کد this.controls.Add به روی این فرم هم اضافه شود
البته من هر کار کردم ولی به محض اضافه شدن کنترل ارسال شده و اضافه شدن آن در فرم دیگر
این کنترل از فرم پایه ناپدید میشه؟
لطفا راهنمایی کنید

Leon_pro
سه شنبه 26 شهریور 1387, 13:32 عصر
از AppDomain استفاده کن با استفاده از AppDomain میتونی یک شی رو تو فضای برنامه ات به اشتراک بزاری در فرم مقصد هم اونو بگیر و به فرمت اضافه کن.

تو کد زیر تو روال btn_Send من یه نمونه از appdomain درست کردم و با اون ابجکت textbox1 رو share کردم و تو روال بعدی اون رو از appdomain دریافت کردم.


private void btn_Send_Click(object sender, EventArgs e)
{
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.SetData("SentObject", textbox1);
}

private void btn_Get_Click(object sender, EventArgs e)
{
AppDomain currentDomain = AppDomain.CurrentDomain;
TextBox txt = currentDomain.GetData("SentObject") as TextBox;
this.Controls.Add(txt);
}

rostamkhani
چهارشنبه 27 شهریور 1387, 22:58 عصر
سلام نتیجه این دستور که نوشتین مشکل رو بر طرف نمیکنه و با Add شدن در Form2 کنترل از Form1 ناپدید میشه .

Mahdi.Kiani
پنج شنبه 28 شهریور 1387, 08:21 صبح
سلام برادر
یک آبجکت در آن واحد نمی تونه چند تا parent داشته باشه.
مشکل چیست؟