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

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

  1. #1

    استفاده از متغیر در نام تابع

    سلام

    من می خوام در نام تابع از یک متغییر استفاده کنم

    یعنی به جای


    textBox1.Text = "matin";


    اینجوری بنویسم




    string b = "1";
    textBox.b.Text = "matin";



    اما کدی که دربالا نوشتم از لحاظ نوشتاری جواب نمیده , کسی میدونه درستش چجوری هست ؟

    در وافع می خوام با دونستم شماره یک تکست باکس بتونم محتواش رو در یک تغییر بدم
    نمی دونم منظور رو رسوندم یا نه

  2. #2
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: استفاده از متغییر در نام تابع

    سلام دوست گرامی لینک زیر رو مطالعه کن
    https://msdn.microsoft.com/en-us/library/018hxwa8.aspx
    با توجه به کد بالا به نظر من روش حل مساله شما روش درستی نمیباشد بهتره توضیحی درباره کاری که میخوای روی TextBox انجام بدی بنویسی

  3. #3

    نقل قول: استفاده از متغییر در نام تابع

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    سلام دوست گرامی لینک زیر رو مطالعه کن
    https://msdn.microsoft.com/en-us/library/018hxwa8.aspx
    با توجه به کد بالا به نظر من روش حل مساله شما روش درستی نمیباشد بهتره توضیحی درباره کاری که میخوای روی TextBox انجام بدی بنویسی
    ممنون از توضحتون
    در واقع هدف دقیق من




    string b = "textBox1";
    b.text = "matin";



    در واقع برای من همیشه سوال بوده که چطوری وقتی نام یک تابع رو به صورت استرینگ به دست میاریم تابع رو اجرا کنیم

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

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

  4. #4
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: استفاده از متغییر در نام تابع

    به شما پیشنهاد میکنم یه CustomTextBox بصورت زیر تعریف کنی که چهار Property از نوع TextBox داشته باشه

    using System.Windows.Forms;


    namespace textConn
    {
    class CustomTextBox:TextBox
    {
    public TextBox TxtBoxUp { get; set; }
    public TextBox TxtBoxDwon { get; set; }
    public TextBox TxtBoxLeft { get; set; }
    public TextBox TxtBoxRight { get; set; }
    protected override void OnTextChanged(EventArgs e)
    {
    if (TxtBoxUp != null) TxtBoxUp.Text = Text;
    if (TxtBoxDwon != null) TxtBoxDwon.Text = Text;
    if (TxtBoxLeft != null) TxtBoxLeft.Text = Text;
    if (TxtBoxRight != null) TxtBoxRight.Text = Text;
    base.OnTextChanged(e);
    }

    }
    }

    وکافیست در فایل Designer فرم نوع TextBox ها رو به نوع CustomTextBox تبدیل کنی .بعد از کامپایل هر TextBox چهار Property از نوع TextBox در پنجره Propertyها اضافه میشه که میتونی به تکست بکس های اطراف آن انتصاب دهی

  5. #5

    نقل قول: استفاده از متغییر در نام تابع

    واقعا ممنون
    فقط به نظرتون این الگوریتم وقتی تعداد تکست باکس ها زیاد باشه جواب میده
    برای مثال ما 9 تا داشته باشیم ( یک مربع 3 در 3) و قصدمون این باشکه با اپدیت هر کدوم چهار تای اطرافشم اپدیت بشن ؟


    اون شبه کدی که نوشتم


    string b = "textBox1";
    b.text = "matin";



    به هیچ وجه در سی شارپ قابل پیاده سازی نیست ؟
    چون اگر باشه با یک حلقه فور میشه شماره 4 تا تکست باکس کناری رو به دست اورد شماره رو به نام چسبوند و با استفاده از اون کار مورد نظر رو اجاره کرد

  6. #6

    نقل قول: استفاده از متغیر در نام تابع

    کسی می تونه در ضمینه پیاده سازی شبه کد گفته شده به من کمک کنه ؟

  7. #7
    کاربر دائمی آواتار Davidd
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    391

    نقل قول: استفاده از متغییر در نام تابع

    نقل قول نوشته شده توسط matinpf مشاهده تاپیک
    ولی در این مسله من می خوام وقتی مثلا مقدار یک تکست باکس رو تغییر میدم تکست باکس بالاش پایینش و راست و چپش هم مقدارش تغییر کنه خوب با یک محاسبه راحت میشه شماره تکست باکس های همسایه و نامشون رو به دست اورد ولی اینکه مقدارشون رو تغییر داد نیازمنده کار بالاست . فکر م می کنم برای این کار در پی اچ پی یک کد خیلی راحت بود مال سی شارپ خیلی پیچیدست

    البته میشه با یک سویچ هم همچنین کاری کرد ولی خوب در تعداد تکست باکس خیلی بالا زیاد جالب نیست
    اگه نام تکست باکس همسایه داشته باشی تغییر مقدارش کاری نداره :
    foreach (Control ctrl in this.Controls.Find("textBox1", true))
    {
    ((TextBox)ctrl).Text = "some value";
    break;
    }
    آخرین ویرایش به وسیله Davidd : چهارشنبه 04 آذر 1394 در 11:52 صبح

  8. #8
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: استفاده از متغیر در نام تابع

    int i;
    int.TryParse(textBox1.Text, out i);
    var lbl = Controls["label" + i] as Label;
    if (lbl != null)
    lbl.BackColor = Color.Red;

  9. #9

    نقل قول: استفاده از متغییر در نام تابع

    نقل قول نوشته شده توسط Davidd مشاهده تاپیک
    اگه نام تکست باکس همسایه داشته باشی تغییر مقدارش کاری نداره :
    foreach (Control ctrl in this.Controls.Find("textBox1", true))
    {
    ((TextBox)ctrl).Text = "some value";
    break;
    }
    فوق العاده ممنون از شما , دقیقا همون کاری میکنه که من می خوام (اجرا گرفتم ), فقط میشه یکم کد رو بیشتر توضیح بدید که بیشتر درکش کنم , در واقع من تازه سی شارپ شروع کردم برای یک پروژه دانشجویی دارم کار می کنم , با فور ایچ اشنای فقط قسمت های زیر چیکار می کنند ؟ ((شاید در مراحل دیگه برنامه نویسیم به کارم اومد ))


    (Control ctrl in this.Controls.Find("textBox1", true))

    ((TextBox)ctrl)

  10. #10
    کاربر دائمی آواتار Davidd
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    391

    نقل قول: استفاده از متغیر در نام تابع

    خواهش میکنم. تمام کنترل های روی فرم (مانند تکستباکس، لیبل ...) در کالکشنی به نام Controls قرار دارند. متد Find کنترل های با نام موردنظر پیدا می کنه. پارامتر دوم متد Find که true یا false میتونه باشه نشون میده که کنترل های داخل کنترل دیگر (مثلا تکستباکس روی پنل) بررسی شوند یا خیر؟
    دستور ((TextBox)ctrl) شی پیدا شده رو به کلاس TextBox تبدیل میکنه. در نهایت دستور break هم باعث میشه که با پیدا کردن اولین مورد از حلقه خارج بشه و بقیه کنترل ها بررسی نشن.

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

  1. فیلتر کوئری با استفاده از متغیر رشته ای
    نوشته شده توسط khoshblagh در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: دوشنبه 19 اردیبهشت 1390, 07:13 صبح
  2. استفاده از متغیری که نامش را کاربر مشخص می کند
    نوشته شده توسط momo1366 در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: چهارشنبه 18 آذر 1388, 20:34 عصر
  3. پاسخ: 2
    آخرین پست: چهارشنبه 19 تیر 1387, 00:46 صبح
  4. کمک در مورد استفاده از متغیر در سایر فرمها
    نوشته شده توسط misagh1359 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: چهارشنبه 18 مهر 1386, 19:47 عصر
  5. روش استفاده از متغیرهای session سطح solution استفاده کنم
    نوشته شده توسط حمید رضا منتظران در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: پنج شنبه 19 خرداد 1384, 14:37 عصر

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

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