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

نام تاپیک: رویدادی برای highlight شدن گزینه های ComboBox با حرکت موس روی گزینه ها قبل از انتخاب یک آیتم

  1. #1
    کاربر دائمی آواتار perkas
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    خوزستان
    سن
    45
    پست
    369

    رویدادی برای highlight شدن گزینه های ComboBox با حرکت موس روی گزینه ها قبل از انتخاب یک آیتم

    سلام

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

    حالا میخوام وقتی روس اطلاعات اسکرول میکنیم اطلاعات مربوط به گزینه ای که در حالت سلکت هست رو نشون بده


    مثلا اگر کمبو داره لیست کالاها رو بهمون نشون بده زمانی که با مکان نما به بالا و پائین لیست میریم رو نام هر کالا که قرار بگیریم اطلاعاتش رو تو یه لیبل نشونمون بده ( مثلا موجودی کالا )

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

    نقل قول: سوال در مورد نوشتن دستور برای اطلاعات کمبو باکس

    با سلام.
    فیلد مورد نظر را به عنوان ValueMember به ComboBOx معرفی کرده و در رویداد SelectedItemChanged مقدار Lable را برابر با Combo.SelectedValue قرار دهید.
    چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست
    **********
    اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ

  3. #3
    کاربر دائمی آواتار perkas
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    خوزستان
    سن
    45
    پست
    369

    نقل قول: سوال در مورد نوشتن دستور برای اطلاعات کمبو باکس

    اگه یه سمپل آپ کنین ممنون میشم

  4. #4
    کاربر دائمی آواتار perkas
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    خوزستان
    سن
    45
    پست
    369

    نقل قول: سوال در مورد نوشتن دستور برای اطلاعات کمبو باکس

    نقل قول نوشته شده توسط مهرداد صفا مشاهده تاپیک
    با سلام.
    فیلد مورد نظر را به عنوان ValueMember به ComboBOx معرفی کرده و در رویداد SelectedItemChanged مقدار Lable را برابر با Combo.SelectedValue قرار دهید.
    دستور من اینشکلیه
    چطور باید به شکلی که شما میگین بنویسمش

    {
    var db = newmydataDataContext();//linq class
    var q = db.reza111s ;//linq query
    user_list.Items.Clear();
    foreach (var t in q)
    {
    user_list.Items.Add(t.fn);
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 26 تیر 1396 در 18:57 عصر

  5. #5

    نقل قول: سوال در مورد نوشتن دستور برای اطلاعات کمبو باکس

    چرا حلقه. از دیتاسورس استفاده کنید.

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

  6. #6
    کاربر دائمی آواتار perkas
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    خوزستان
    سن
    45
    پست
    369

    نقل قول: سوال در مورد نوشتن دستور برای اطلاعات کمبو باکس

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    چرا حلقه. از دیتاسورس استفاده کنید.

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

  7. #7
    کاربر دائمی آواتار perkas
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    خوزستان
    سن
    45
    پست
    369

    نقل قول: سوال در مورد نوشتن دستور برای اطلاعات کمبو باکس

    شاید درست سوالمو مطرح نکردم

    اولا میخوام زمانی که هنوز روش کلیک نکردم اطلاعات رو نشونم بده
    دوما یه چیزای دیگه هم مد نظرم هست که به همین دلیل شکل نوشتن دستور بیشتر کمکم میکنه
    مثلا به جای نمایش اطلاعات مربوطه کار دیگه ای انجام بده ( تعداد کارکترها رو نشون بده تو لیبل یا هر دستور دیگه ای )

    میخوام که هر کاری که خواستم فقط اونجا که دستور نوشته رو تغییر بدم

  8. #8

    نقل قول: سوال در مورد نوشتن دستور برای اطلاعات کمبو باکس

    نقل قول نوشته شده توسط perkas مشاهده تاپیک
    شاید درست سوالمو مطرح نکردم

    اولا میخوام زمانی که هنوز روش کلیک نکردم اطلاعات رو نشونم بده
    دوما یه چیزای دیگه هم مد نظرم هست که به همین دلیل شکل نوشتن دستور بیشتر کمکم میکنه
    مثلا به جای نمایش اطلاعات مربوطه کار دیگه ای انجام بده ( تعداد کارکترها رو نشون بده تو لیبل یا هر دستور دیگه ای )

    میخوام که هر کاری که خواستم فقط اونجا که دستور نوشته رو تغییر بدم
    در این مورد باید از رویداد DrawItem کمک بگیرید و توی اون هایلایت شدن رو چک کنید. البته راه بهتر ایجاد یک کلاس مشتق هست که در اون ایجاد یک پراپرتی جدید ، یک رویداد جدید و بازنویسی متد OnDrawItem راه حل منطفی تری هست. در اینصورت از رویداد مورد نظر و پراپرتی تعریف شده میتونید استفاده کنید.

    class CustomComboBox : ComboBox
    {
    public int HighlightedIndex { get; set; }

    public delegate void MyEventHandler(object sender, EventArgs e);

    public event MyEventHandler HighlightedIndexChanged = null;

    public CustomComboBox()
    {
    this.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
    }

    protected override void OnDrawItem(DrawItemEventArgs e)
    {
    base.OnDrawItem(e);

    if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
    {
    this.HighlightedIndex = e.Index;
    OnHighlightedIndexChanged(new EventArgs());
    }

    e.DrawBackground();
    SolidBrush brush = new SolidBrush(e.ForeColor);
    e.Graphics.DrawString(this.Items[e.Index].ToString(), e.Font, brush, new Point(e.Bounds.X, e.Bounds.Y));
    }

    protected virtual void OnHighlightedIndexChanged(EventArgs e)
    {
    if (HighlightedIndexChanged != null)
    {
    HighlightedIndexChanged(this, e);
    }
    }
    }

    در رویداد HighlightedIndexChanged مقدار HighlightedIndex اندیس آیتم هایلایت شده هست که میتونید به آیتم دسترسی داشته باشید و براساس اون کوئری بزنید.

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

  1. نحوه ایجاد لرزش با حرکت موس روی کنترل pictureBox
    نوشته شده توسط sara_aryanfar در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 04 مرداد 1392, 12:46 عصر
  2. با حرکت سریع ماوس اندازه دایو بعد از اجرای یک animate تغییر می کنه
    نوشته شده توسط مهدی رحیم زاده در بخش jQuery
    پاسخ: 2
    آخرین پست: چهارشنبه 13 دی 1391, 10:36 صبح
  3. پاسخ: 2
    آخرین پست: جمعه 01 اردیبهشت 1391, 17:30 عصر
  4. پاسخ: 1
    آخرین پست: دوشنبه 14 شهریور 1390, 15:37 عصر
  5. hint با حرکت موس روی عکس
    نوشته شده توسط maryam_f در بخش C#‎‎
    پاسخ: 3
    آخرین پست: یک شنبه 23 دی 1386, 09:35 صبح

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

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