PDA

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



Moharram
سه شنبه 31 شهریور 1383, 11:07 صبح
سلام

من تو یه پروژه سی شارپ چند تا کلاس تعریف کردم (مثلا oop)

الان می خوام از هر جای برنامه کنترلهای روی فرم اصلی رو تغییر بدم . نمی دونم روش کار چیه .

فعلا اون کنترلها رو static می کنم ولی مثله اینکه این راهش نیست

با تشکر

حمیدرضاصادقیان
سه شنبه 31 شهریور 1383, 23:11 عصر
دوست عزیز این فایل pdf استاد نصیری رو که لطف کردن قرار دادن رو دانلود کن به راحتی توضیح داده شده و مشکلت حل خواهد شد.
:oops:

Moharram
چهارشنبه 01 مهر 1383, 08:56 صبح
آقای صادقیان
با تشکر از توجهی که نشون دادید

من اون فایل pdf رو خوندم ولی چنین موضوعی توش پیدا نکردم ضمن اینکه برنامه های اون pdf زیادی هاشون از نوغ console هستن .

شاید این کاری که من میخوام بکنم با اصول oop سازگار نیست . روش درستش اینه که کلاسه با یه Message پیغامو به کلاس فرم بده و کلاس فرم control هارو (مثلا textbox) به روز کنه (update)

ولی من به یه دلیل خاصی می خوام که کلاس از همون داخل خودش بتونه این کارو بکنه

امیدوارم منظورمو گرفته باشین
منتظر کمکتون هستم

EhsanKhafan
چهارشنبه 01 مهر 1383, 13:18 عصر
public static Form1 myhandle
یک متغییر در کلاست به این فرم تعریف کن
سپس
این جوری ستش کن(توی فرمت)

yourclass.myhandle=this
بعدش handle فرم رو داری بزن:

myhandle.anycontrol(textBox)

Moharram
چهارشنبه 01 مهر 1383, 16:13 عصر
داش احسان

مثله اینکه راهش همینه
ولی یه چیزی : این کدایی که نوشته بودی سی شارپ بودن یا چیزه دیگه

من اینکارو کردم تو constructor کلاس یه پارامتر از فرم می گیرم . از اون طرف وقتی می خوام از تو فرم یه کلاس تغریف کنم بهش (constructor) خود فرمو میدم با this

آیا راهش اینه

EhsanKhafan
پنج شنبه 02 مهر 1383, 07:51 صبح
this ماله C# است،staticوpublic هم همینطور اونجا که زدم anycontrol منظورم هر کنترل روی فرمت بود.توی پرانتز هم خواستم مثال بزنم.
ولی راهش همونه که گفتی توی constructor اون متغییر static رو ست کن.
بعدش به فرمت دسترسی کامل داری.

موفق باشی




***
به عوض اینکه به تاریکی لعنت بفرستید،یک شمع روشن کنید.
***