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

نام تاپیک: ارسال مقدار از UserControl به Form

  1. #1
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    ارسال مقدار از UserControl به Form

    سلام
    من میخوام از یه UserControl یه مقداری رو به صورت string به Form اصلی ارسال کنم و فرم هم اونو به عنوان Log ذخیره کنه، خودم تصمیم گرفتم TextBox قرار بدم و از رویداد TextChanged این مقدارو توی Form دیافت کنم، راهی بهتر دارید که خود string ارسال بشه؟
    ممنون

  2. #2

    نقل قول: ارسال مقدار از UserControl به Form

    يك پراپرتي واسه فرمتون تعريف كنيد :
    public string PropetiName {get;set;}

  3. #3
    کاربر دائمی آواتار barnamenevisforme
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران،شیراز و میشه گفت تقریبا همه جای ایران
    پست
    683

    نقل قول: ارسال مقدار از UserControl به Form

    سلام
    این واسه منم سوال بود.
    البته به یه روش دیگه حلش کردم.
    ولی با تعریف یه خصوصیت جدید برای usercontrol و تغییر اون خصوصیت در فرم،فرم چطور متوجه تغییر خصوصیت بشه؟

  4. #4

    نقل قول: ارسال مقدار از UserControl به Form

    در تکمیل صحبت آقای ali_habibi1384
    بعد از تعریف پراپرتی در فرم طبق پست قبل، میتونید به اینصورت پراپرتی فرم رو مقداردهی کنید:
                //using System.Linq;

    Form1 frm1 = Application.OpenForms.OfType<Form1>().SingleOrDefa ult();
    if (frm1 != null)
    {
    frm1.PropetiName = "رشته مورد نظر";
    }

    Form1 نام کلاس فرمی هست که پراپرتی رو توش تعریف کردید.

  5. #5
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: ارسال مقدار از UserControl به Form

    خیلی ممنون از جوابتون اما اینی که شما فرمودید مشکلمو حل نکرد، من میخوام از UserControl به فرم اصلی در طول اجرای برنامه مقدار ارسال بشه و کی و کجاش معلوم نیس، چیزی مثل Log کردنه؛ همونطور که گفتم من توی UserControl یک textBox به صورت Public تعریف کردم و رویداد TextChange رو توی فرم اصلی تعریف کردم؛ حالا اگه یه زمانی بخوام مقداری ارسال بشه مقدار text توی textBox رو تغییر میدم و اینطوری میشه مقدار رو از توی event فرم دریافت کرد،حالا من میخوام به جای این کارا که textBox تعریف کنم فقط یه متن ارسال بشه. برای این راه حلی هست؟

  6. #6

    نقل قول: ارسال مقدار از UserControl به Form

    اگر برنامتون حجمش پایینه ، خب اون تکست باکس رو کپی کنید دیگه!

  7. #7

    نقل قول: ارسال مقدار از UserControl به Form

    توی فرم اصلی چجوری لاگ میکنی؟ اگر با یک تابع این کارو انجام میدی میتونی همین تابع(متد) را public کنی. بعد با همون کدی که من گذاشتم متد رو فراخوانی کنی:

    مثلا توی فرم اصلی داری
            public void log(string st)
    {
    // ...
    }


    هر جا خواستی log کنی اینجوری استفاده کن
                Form1 frm1 = Application.OpenForms.OfType<Form1>().SingleOrDefa  ult();
    if (frm != null)
    {
    frm.log("رشته مورد نظر");
    }


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

  8. #8
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: ارسال مقدار از UserControl به Form

    نقل قول نوشته شده توسط mafaman2003 مشاهده تاپیک
                Form1 frm1 = Application.OpenForms.OfType<Form1>().SingleOrDefa  ult();
    if (frm != null)
    {
    frm.log("رشته مورد نظر");
    }

    این دستور توی UserControl قرار داده میشه؟ کار خط اولی چیه؟ کنترل به صورت پویا اضافه میشه و فرمی وجود نداره که بخوایم معرفی کنیم
    یکم در مورد دستور اولتون توضیح میدید ؟

  9. #9
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: ارسال مقدار از UserControl به Form

    مشکلم حل شد
    میگم شاید یکی یه روزی مثه من به این مشکل برخورد...
    گفتم میخوام از طریق UserControl یه مقداریو به فرم اصلی ارسال کنم و چیزی مثل Log کردن اطلاعاته، فرض میکنیم میخوایم از UserControl یه متنیو به ListBox که توی فرم اصلی هست اضافه کنیم، برای اینکار توی UserControl؛ لیست باکسی که توی فرم اصلی هست رو به این صورت تعریف میکنیم:

            ListBox LogList;
    private void UserControl1_Load(object sender, EventArgs e)
    {
    LogList = (ListBox)ParentForm.Controls["listBox1"];
    }


    حالا توی UserControl هرجایی که بخوایم میتونیم listBox که توی فرم اصلی(والد) هست رو دسکاری کنیم

            private void AddLog(string msg)
    {
    LogList.Items.Add(msg);
    }


    البته این چیزی ود که خودم نوشتم اساتید اگه مشکلی میبینید یا روش بهتری دارید از گفتنش دریغ نکنید و مارو بی بهره نذارید، ممنون


    آقای mafaman2003 لطفا در مورد کدی که گفتم یه توضیحی هم بدید ممنون میشم

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

  1. ارسال مقدار از یک فرم به فرم دیگر
    نوشته شده توسط مهدی رحیم زاده در بخش C#‎‎
    پاسخ: 4
    آخرین پست: جمعه 13 مهر 1386, 13:14 عصر
  2. نحوه ارسال مقدار dropDownText به صفحه بعد
    نوشته شده توسط mahsa_kb در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: یک شنبه 27 خرداد 1386, 09:08 صبح
  3. ارسال مقدار ورودی به فایل اجرایی نوشته شده تو #C
    نوشته شده توسط turk_programmer در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 29 اردیبهشت 1384, 11:27 صبح
  4. ارسال مقدار به متغیرهای موجود در کریستال ریپورت
    نوشته شده توسط majid_afra222 در بخش VB.NET
    پاسخ: 3
    آخرین پست: چهارشنبه 24 فروردین 1384, 16:47 عصر
  5. ارسال مقدار به پارامتر فیلد کریستال ریپورت در #C
    نوشته شده توسط بهنام بهمنی در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 04 بهمن 1383, 13:38 عصر

برچسب های این تاپیک

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

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