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

نام تاپیک: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

  1. #1
    کاربر دائمی آواتار mz6488
    تاریخ عضویت
    تیر 1391
    محل زندگی
    قشم
    پست
    429

    تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    سلام.می خوام یه متد درست کنم که پراپرتی باتن رو تغییر بده.پارامتر ورودی هم نام باتن از نوع استرینگ.چجوری با نام از از نوع استرینگ میشه پراپرتی اون باتن رو تغییر داد؟

  2. #2
    کاربر دائمی آواتار mz6488
    تاریخ عضویت
    تیر 1391
    محل زندگی
    قشم
    پست
    429

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    کدش رو پیدا کردم

    string ctrlName = "btnTest";
    this.Controls[ctrlName].Enabled =false;


    مشکلی که این کد داره این که اگه کنترل تو یه گروپ باکس یا پنل باشه یا اینکه باتن به صورت منو باشه دیگه نمیشه از this استفاده کرد و باید نام اون فرضا گروپ باکس رو استفاده کنیم.کسی راه دیگه ای به ذهنش میرسه؟

  3. #3
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    از متد Find استفاده کنید.خروجی آرایه هست چون ممکنه بیش از یک Control پیدا بشه.

    Control[] controls = this.Controls.Find(ctrlName, true);

  4. #4
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    سلام
    با یه متد بازگشتی که تمام کنترل هارو، چه داخل گروپباکس و چه داخل هر چیزه دیگه ای بررسی کن و مثلاً:
    foreach(Control ali in this.controls)
    {
    if(ali.name = "btnAli")
    {
    ali.Enabled = false;
    }
    }

    حالا اون foreach باید بازگشتی باشه.
    توی همین سایت نمونه کد پیدا کردن کنترل داخل هر کنترل دیگه ای هست.

  5. #5
    کاربر دائمی آواتار mz6488
    تاریخ عضویت
    تیر 1391
    محل زندگی
    قشم
    پست
    429

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    نقل قول نوشته شده توسط forodo مشاهده تاپیک
    سلام
    با یه متد بازگشتی که تمام کنترل هارو، چه داخل گروپباکس و چه داخل هر چیزه دیگه ای بررسی کن و مثلاً:
    foreach(Control ali in this.controls)
    {
    if(ali.name = "btnAli")
    {
    ali.Enabled = false;
    }
    }

    حالا اون foreach باید بازگشتی باشه.
    توی همین سایت نمونه کد پیدا کردن کنترل داخل هر کنترل دیگه ای هست.
    چجوری به صورت بازگشتی پیاده سازیش کنم؟نمونه کدش رو پیدا نکردم

  6. #6
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    این تابعش هست:
            private void ChangeControls(Control c)
    {
    foreach (Control c in c.Controls)
    {
    if (c.Name == "btnAli")
    {
    // کارهای مورد نظر
    }
    }
    }

    این کدها هم توی جایی که می خوای ازش استفاده کنید می نویسید. مثلاً توی رویداد کلیک دکمه یا هرجایی که نیازه:
                foreach (Control c in this.Controls)
    {
    if (c.Name == "btnAli")
    {
    // کارهای مورد نظر
    }
    ChangeControls(c);
    }

  7. #7
    کاربر دائمی آواتار mz6488
    تاریخ عضویت
    تیر 1391
    محل زندگی
    قشم
    پست
    429

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    نقل قول نوشته شده توسط forodo مشاهده تاپیک
    این تابعش هست:
            private void ChangeControls(Control c)
    {
    foreach (Control c in c.Controls)
    {
    if (c.Name == "btnAli")
    {
    // کارهای مورد نظر
    }
    }
    }

    این کدها هم توی جایی که می خوای ازش استفاده کنید می نویسید. مثلاً توی رویداد کلیک دکمه یا هرجایی که نیازه:
                foreach (Control c in this.Controls)
    {
    if (c.Name == "btnAli")
    {
    // کارهای مورد نظر
    }
    ChangeControls(c);
    }
    متاسفانه این کد واس باتن منویی کامپوننت dev جواب نداد

  8. #8
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    برای بقیه کنترلها کار کرد؟
    من خودم همیشه از این استفاده می کنم و مشکلی تا حالا پیدا نکردم.
    شرمنده. دیگه نمی دونم.

  9. #9
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    ببین اینا می شه:
    اینو بر اساس نیازت تغییر بده.
    foreach (GridViewRow row in gv.Rows)
    {

    string basicrate =row.FinControl("lblBasicRate") as Label).Text;;

    }

    اینم که همون بازگشتیه هستش: شما خودت باز داخلش بر اساس تو در تویی foreach بذاری ببین می شه.
    foreach (Control c in Page.Controls)
    {
    foreach (Control childc in c.Controls)
    {
    if (childc is TextBox)
    {
    allTextBoxValues += ((TextBox)childc).Text + ",";
    }
    }
    }

  10. #10
    مدیر بخش آواتار مهرداد صفا
    تاریخ عضویت
    تیر 1391
    محل زندگی
    select Country,City From World where Country.Name=IRAN and City.Contains(حضرت معصومه(ع))
    پست
    1,499

    نقل قول: تغییر پراپرتی باتن با پارامتر نام از نوع استرینگ

    نقل قول نوشته شده توسط mz6488 مشاهده تاپیک
    متاسفانه این کد واس باتن منویی کامپوننت dev جواب نداد
    سلام.
    با استفاده از reflection می تونید هر مقدار از هر عضوی رو فقط با داشتن نامش (به صورت string) تغیر بدید.
    به این صورت:
    ChangeFieldValue("button1", "BackColor", (object)Color.Black); 
    //...
    //..

    void ChangeFieldValue(string memberName, string propertyName,Object value)
    {
    var member = this.GetType().GetField(memberName, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static|System.Refle ction.BindingFlags.IgnoreCase );
    setPropertyValue(member.GetValue(this), propertyName, value);
    }

    void setPropertyValue(object objInstance, string propertyName, object value)
    {
    var property = objInstance.GetType().GetProperty(propertyName, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.IgnoreCase);
    property.SetValue(objInstance , value, null);
    }
    چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست
    **********
    اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ

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

  1. سوال: تغییر نام و نوع یک فیلدیا چند فیلد
    نوشته شده توسط kamand314 در بخش SQL Server
    پاسخ: 1
    آخرین پست: سه شنبه 29 دی 1388, 17:00 عصر
  2. تغییر حالت Null در یک ستون از نوع Image در datagridview
    نوشته شده توسط ali_mp64 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: چهارشنبه 05 فروردین 1388, 18:57 عصر
  3. نام و نوع کاربر در یک هر صفحه
    نوشته شده توسط donya100 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 28 بهمن 1387, 21:40 عصر
  4. تغییر سایز کاغد بصورت دستی و انتخاب نوع پرینتر
    نوشته شده توسط mehr83 در بخش گزارش سازی با Crystal Report
    پاسخ: 3
    آخرین پست: چهارشنبه 10 مهر 1387, 08:48 صبح
  5. تغییر بزرگی و کوچکی حروف نام فایل بعد از کپی
    نوشته شده توسط Payman62 در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: دوشنبه 23 مرداد 1385, 02:09 صبح

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

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