نمایش نتایج 1 تا 6 از 6

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

  1. #1

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

    سلام

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

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

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

    با تشکر

  2. #2
    دوست عزیز این فایل pdf استاد نصیری رو که لطف کردن قرار دادن رو دانلود کن به راحتی توضیح داده شده و مشکلت حل خواهد شد.
    :oops:

  3. #3
    آقای صادقیان
    با تشکر از توجهی که نشون دادید

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

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

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

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

  4. #4
    public static Form1 myhandle

    یک متغییر در کلاست به این فرم تعریف کن
    سپس
    این جوری ستش کن(توی فرمت)
    yourclass.myhandle=this

    بعدش handle فرم رو داری بزن:
    myhandle.anycontrol(textBox)

  5. #5
    داش احسان

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

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

    آیا راهش اینه

  6. #6
    this ماله C#‎ است،staticوpublic هم همینطور اونجا که زدم anycontrol منظورم هر کنترل روی فرمت بود.توی پرانتز هم خواستم مثال بزنم.
    ولی راهش همونه که گفتی توی constructor اون متغییر static رو ست کن.
    بعدش به فرمت دسترسی کامل داری.

    موفق باشی




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

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •