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

نام تاپیک: دسترسی به کنترلهای یک فرم توسط کلاس

  1. #1
    کاربر تازه وارد آواتار 30yamand
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    همه جهان سرای من است
    پست
    68

    دسترسی به کنترلهای یک فرم توسط کلاس

    با سلام و خسته نباشید خدمت اساتید

    میخواستم بدونم چه جوری میشه خاصیت های یک کنترل مثلا label به وسیله یک کلاس تغییر داد (مثلا رنگش رو تغییر بدیم)
    هر کاری کردم نتونستم بهش دسترسی پیدا کنم ممنون میشم کمکم کنید

  2. #2

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس



    public class cl1
    {
    pulic void changecolor(lable l){
    l.backcolor = color.red;
    {
    {


    بعد این تابع رو صدا میزنی و لیبل رو براش میفرستی بعد رنگ پس زمینه میشه قرمز

  3. #3
    کاربر تازه وارد آواتار 30yamand
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    همه جهان سرای من است
    پست
    68

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    دوست عزیز این کارو کردم اما نشد

    ببین من یک فرم دارم یک قسمتش مثل چراغ راهنما کار میکنه، 5 تا کلاس هم دارم که هر کدومش یه فایل جدا داره
    حالا من میخوام تو یکی از این کلاسا اگه کاری که میخوام انجام بدم انجام بشه بتونم به label مورد نظر دسترسی پیدا کنم و رنگش رو عوض کنم
    مشکلم اینه که نمی تونم به label دسترسی داشته بام

  4. #4
    کاربر تازه وارد آواتار 30yamand
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    همه جهان سرای من است
    پست
    68

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    دوستان کسی نبود کمک کنه!!!
    من متدی که تو کلاس فرمم نوشتم رو تو یک کلاس دیگه فراخوانی میکنم اما تغیراتی که میخوام رو انجام نمیده( رنگ label رو برام عوض نمیکنه) دلیلش چیه، اگه کسی میتونه لطفا راهنمایی کنید
    کد کلاس فرم:

    public void Changer()
    {
    if (lbl1.BackColor != Color.Red &&2.BackColor != Color.Green)
    {
    lbl1.BackColor = Color.Red;
    lbl2.BackColor = Color.Green;
    }
    else
    {
    lbl1.BackColor = Color.Green;
    lbl2.BackColor = Color.Red;
    }
    }

    کد کلاس دوم برای اجرای متد Changer

    public void Move()
    {
    Form1.Changer();
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 26 آذر 1395 در 22:14 عصر

  5. #5
    کاربر دائمی آواتار m2011kh
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    (Zweifall (Nordrhein-Westfalen
    پست
    647

    Post نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    مطمئن شو که در فایل Form1.Design.cs کنترل مورد نظر به صورت Public تعریف شده باشه. اگه میخوای خواص کنترل رو از یک شیء دیگه تغییر بدی. و اگه نخ شئ دوم با نخ اصلی برنامه فرق میکنه (اگه به صورت چند نخی داری مینویسی) میتونی از تابع Label.BeginInvoke استفاده کنی.

    و البته این که در تابعی که در شیء دیگری هست کنترل رو به صورت پارامتر ارسال کن.


    موفق و سربلند باشيد.
    M.M.D
    آخرین ویرایش به وسیله m2011kh : جمعه 26 آذر 1395 در 21:13 عصر

  6. #6
    کاربر تازه وارد آواتار 30yamand
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    همه جهان سرای من است
    پست
    68

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    ممنون
    عزیز

    این کارا رو انجام دادم جواب نگرفتم
    کار با
    BeginInvoke رو بلد نیستم ، اگه لطف کنی بگی چطور کار میکنه ممنون میشم( به صورت چند نخی ننوشتم)


  7. #7
    کاربر دائمی آواتار m2011kh
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    (Zweifall (Nordrhein-Westfalen
    پست
    647

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    بهتره که از تابع BeginInvoke استفاده نکنی اگه به صورت چند نخی نمینویسی. اصلا کار درستی نیست. سورس پروژه ات رو بزار اون قسمتی که مشکل داره رو برات اصلاح میکنم، بعدا خودت ببین چطوری شده.

    سورست رو ضمیمه کن.

    موفق و سربلند باشید.
    M.M.D

  8. #8

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    نقل قول نوشته شده توسط 30yamand مشاهده تاپیک
    دوستان کسی نبود کمک کنه!!!
    من متدی که تو کلاس فرمم نوشتم رو تو یک کلاس دیگه فراخوانی میکنم اما تغیراتی که میخوام رو انجام نمیده( رنگ label رو برام عوض نمیکنه) دلیلش چیه، اگه کسی میتونه لطفا راهنمایی کنید
    کد کلاس فرم:

    public void Changer()
    {
    if (lbl1.BackColor != Color.Red &&2.BackColor != Color.Green)
    {
    lbl1.BackColor = Color.Red;
    lbl2.BackColor = Color.Green;
    }
    else
    {
    lbl1.BackColor = Color.Green;
    lbl2.BackColor = Color.Red;
    }
    }

    کد کلاس دوم برای اجرای متد Changer

    public void Move()
    {
    Form1.Changer();
    }

    شما نوشتین تغییر در کلاس مجزا ولی این کد فقط میاد یک تابع مینویسه و این کار رو انجام میده
    به پست دوم دقت کنید من یک کلاس مجزا درست کردم و یک تابع داخلش هست که اینن کار رو میکنه.
    برای استفاده ازش باید یک نمونه از کلاس بسازی و لیبل ها رو بهش پاس بدی تا عملیات رو انجام بده

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1395
    محل زندگی
    تهران
    پست
    61

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    public class cl1

    {

    pulic void changecolor(ByRef lable l){

    l.backcolor = color.red;

    {

    {

    این کد رو استفاده کن...

  10. #10
    کاربر تازه وارد آواتار 30yamand
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    همه جهان سرای من است
    پست
    68

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    دوستان ممنون ار راهنمایتون
    اما من هر کاری کردم نشد.
    اگه زحمتی نیست یه مثال ساده بنویسید بزارید
    شاید من هنگ کردم نمیتونم ج بگیرم

  11. #11

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    این نمونه
    بیا این کلاس رو یه جا تو برنامه بزار



    class Class1
    {

    public void ChangeBackColor(System.Windows.Forms.Label lb)
    {
    lb.BackColor = System.Drawing.Color.Red;
    }
    }



    بعد تو برنامه اینطوری ازش استفاده کن



    Class1 cl1 = new Class1();
    cl1.ChangeBackColor(ref lable1)


  12. #12
    کاربر تازه وارد آواتار 30yamand
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    همه جهان سرای من است
    پست
    68

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    دوست عزیز نشد
    جواب نمیده
    هرکاری میکنم وقتی فرم لود شد دیگه رنگ لبیل یا دکمه هایی که میخوام تغییر نمیکنه
    آخرین ویرایش به وسیله 30yamand : دوشنبه 06 دی 1395 در 13:38 عصر

  13. #13

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    این یک نمونه اجرا شده کامل
    WindowsFormsApplication1.zip
    فایل های ضمیمه فایل های ضمیمه

  14. #14
    کاربر تازه وارد آواتار 30yamand
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    همه جهان سرای من است
    پست
    68

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    hamid_hr جان
    دوست عزیز کدی که شما زحمتش رو کشیدید، فقط یک بار اونم زمانی که فرم لود میشه اجرا میشه( عمل میکنه) ، من چیزی که میخوام برنامه به صورت مکرر تحت شرطی که تو کلاس دوم میزارم در زمان که فرم اجرا شده اجرا بشه


    class Class1
    {
    Form1 frm= new Form1();
    public void ChangeBackColor(ref Label lb)


    {
    if (shartEjra())
    {
    lb.BackColor = Color.Red;


    }
    else
    {
    lb.BackColor = Color.Green;
    }




    }


    public bool shartEjra()
    {
    if (frm.label1.BackColor== Color.Transparent)
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    }


  15. #15
    کاربر تازه وارد آواتار 30yamand
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    همه جهان سرای من است
    پست
    68

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    کدی که نوشتم هم ج نمیده

  16. #16

    نقل قول: دسترسی به کنترلهای یک فرم توسط کلاس

    اینو چرا داخل کلاس تعریف کردین؟
     Form1 frm= new Form1();

    شما ابتدا یکم در مورد کلاس و مباحث اولیه مربوط به oop مطالعه بفرمایید بعد خودتون متوجه میشین چطور انجامش بدین
    اون که من نوشتم فقط یک نمونه بود که طریق کار رو متوجه بشین
    برا اینکه بتونین هر جایی ازش استفاده کنین باید دو خط کد موجود در form_load رو کپی کنین و اونجا استفاده کنین
    مثلا یه دونه باتن بزارین و اون دو خط کد رو در رویداد کلیک باتن استفاده کنین

تاپیک های مشابه

  1. نحوه مقداردهي به كنترلهاي يك فرم وب از طريق دلفي
    نوشته شده توسط s.mostafa.rahmani در بخش مقالات مرتبط با Delphi/Win32
    پاسخ: 22
    آخرین پست: پنج شنبه 28 خرداد 1388, 22:06 عصر
  2. سوال: دسترسی به کنترلهای یک فرم
    نوشته شده توسط seniamail در بخش C#‎‎
    پاسخ: 11
    آخرین پست: چهارشنبه 25 دی 1387, 12:57 عصر
  3. دسترسی به اشیائ یک فرم از طریق فرم دیگر؟
    نوشته شده توسط AlirezaBahredar در بخش VB.NET
    پاسخ: 5
    آخرین پست: دوشنبه 19 فروردین 1387, 23:46 عصر
  4. دسترسی به کنترلهای یک فرم از داخل یک فرم دیگه
    نوشته شده توسط Ernest در بخش C#‎‎
    پاسخ: 4
    آخرین پست: دوشنبه 17 مهر 1385, 16:55 عصر
  5. چگونگی دسترسی به کنترلهای یک فرم
    نوشته شده توسط mohsen57 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 26 تیر 1384, 09:00 صبح

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

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