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

نام تاپیک: ساخت کمبوباکس آیکون دار ComboBox With Icon

  1. #1
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    ساخت کمبوباکس آیکون دار ComboBox With Icon

    سلام دوستان
    فرض کنید می خوایم کمبو باکسی داشته باشیم که هر آیتم آن آیکون هم داشته باشد. کد پیشنهای شما چیست؟
    اگر علاقمند هستید لطفا نمونه کدتون رو در قالب یک پروِژه بذارید تا با کمک شما این موضوع رو که می تونه بهونه خوبی برای ساخت کنترل سفارشی و گسترش آن باشه ادامه بدیم

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    Kurdistan Of Iran
    پست
    106

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    چرا این کار رو با WPF انجام نمیدید؟
    نوشتن اینگونه کنترلهای سفارشی با WPF بسیار راحته . با چند خط کد XAML میتونین بسازید.
    اگه میخواید نمونشو براتون بزارم

  3. #3
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    صورت سوال رو عوض نکنید مطمئنا در WPF چون کنترلها container‌نیز هستند به راحتی این کار امکانپذیر هست. این تاپیک بهونه ای هست برای بررسی یک سری مسائل در مورد ساخت کنترل سفارشی البته در صورت ابراز علاقه و تمایل دوستان برنامه نویس

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    اراک
    پست
    230

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    با سلام من یک کد جهت اضافه کردن ایکن به combobox دیدم ولی نحوه اضافه کردن عکس و تکست رو با هم نفهمیدم چون مثل اینکه با ید تکست تبدیل به گرافیک شود و بعد از آن استفاده کرد




    private void Form3_Load(object sender, EventArgs e)
    {

    try
    {


    // imageList1.Images.Add(bmp);

    string[] items = new string[(imageList1.Images.Count - 1)];
    for (int i = 0; i < (imageList1.Images.Count - 1); i++)
    {

    items[i] = i.ToString() ;

    }

    comboBox1.Items.AddRange(items);

    comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
    comboBox1.DrawMode = DrawMode.OwnerDrawVariable;
    comboBox1.ItemHeight = imageList1.ImageSize.Height;

    comboBox1.Width = imageList1.ImageSize.Width + 100;

    comboBox1.MaxDropDownItems = imageList1.Images.Count;

    comboBox1.Items.Add(imageList1.Images[0]);

    }

    catch
    {

    }



    }



    private void comboBox1_DrawItem_1(object sender, DrawItemEventArgs e)
    {
    if (e.Index != -1)
    {

    // e.Graphics.DrawImage(imageList1.Images[e.Index], e.Bounds.Left, e.Bounds.Top);

    e.Graphics.DrawImage(imageList1.Images[e.Index], e.Bounds.Left, e.Bounds.Top);
    }
    }

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    اراک
    پست
    230

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    یک نمونه سورس پیدا کردم ولی فهمیدن کدهاش مشکل بود شاید بدرد این موضوع بخوردImageComboBoxSource.zip

  6. #6

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    فکر کنم بشه یه کلاس کاستوم براش نوشت ولی مشکل اینجاست که خیلی سخت میشه به کاملیه Combobox خود مایکروسافت بشه.
    مثلاً یک template خاص برای فرمی در نظر بگیرید و روش کار کنیم از نظر ظاهری ...

  7. #7
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    مرسی امیر جان! برای نمایش Icon از متد DrawImage استفاده می شه همانطور که نوشتی و برای نمایش متن هم از متد DrawString مربوط به Graphics استفاده ولی همه اینها باید در یک کلاس جدید که از ComboBox ارث می بره پیاده سازی بشه

    ArminKhodaei@ اگه پیاده سازی درست صورت بگیره کامل و بی نقص خواهد بود در ادامه حتما این کار رو خواهیم کرد

  8. #8

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    بنده کلاس زیر رو نوشتم. ItemImages لیستی از عکسهاست

    using System.Drawing;
    using System.Windows.Forms;

    class ComboBoxWithIcon : ComboBox
    {
    private ImageList _itemImages;
    private int _imageX, _imageY;

    public ImageList ItemImages
    {
    get { return _itemImages; }
    set
    {
    _itemImages = value;
    if (value != null)
    {
    DrawMode = DrawMode.OwnerDrawVariable;
    }
    }
    }

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

    e.DrawBackground();
    if (e.Index < 0 || ItemImages == null) return;
    string n = Items[e.Index].ToString();
    RectangleF rectf;
    if (RightToLeft == RightToLeft.Yes)
    {
    if (e.Index < ItemImages.Images.Count)
    {
    _imageX = e.Bounds.Right - ItemImages.ImageSize.Width;
    _imageY = e.Bounds.Top + (e.Bounds.Height - ItemImages.ImageSize.Height)/2;
    e.Graphics.DrawImage(ItemImages.Images[e.Index], _imageX, _imageY);
    }
    rectf = new RectangleF(e.Bounds.X, e.Bounds.Top, e.Bounds.Right - ItemImages.ImageSize.Width, e.Bounds.Bottom);
    e.Graphics.DrawString(n, Font, Brushes.Black, rectf, new StringFormat(StringFormatFlags.DirectionRightToLef t));
    }
    else
    {
    if (e.Index < ItemImages.Images.Count)
    {
    _imageX = e.Bounds.Left;
    _imageY = e.Bounds.Top + (e.Bounds.Height - ItemImages.ImageSize.Height)/2;
    e.Graphics.DrawImage(ItemImages.Images[e.Index], _imageX, _imageY);
    }
    rectf = new RectangleF(e.Bounds.X + _itemImages.ImageSize.Width, e.Bounds.Y, e.Bounds.Right, e.Bounds.Bottom);
    e.Graphics.DrawString(n, Font, Brushes.Black, rectf);
    }
    }
    }

    آخرین ویرایش به وسیله Mahmoud.Afrad : شنبه 16 آبان 1394 در 11:08 صبح

  9. #9

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    میشه بگید چطوری از این کلاس استفاده کنیم؟
    آخرین ویرایش به وسیله Mahmoud.Afrad : شنبه 16 آبان 1394 در 09:57 صبح

  10. #10

    نقل قول: ساخت کمبو باکس آیکون دار ComboBox With Icon

    یک کلاس (فایل با پسوند .cs) به پروژه اضافه کنید و این کلاس رو توش کپی کنید. یک بار دیباگ کنید و از تولباکس ComboBoxWithIcon را استفاده کنید.
    طریقه استفاده هم به اینصورته که یک imagelist روی فرم بزارید. غکسها رو بهش اضافه کنید. این ایمیج لیست را به خاصیت ItemImages این کمبوباکس نسبت بدید. آیتمها رو هم طبق روال معمول add کنید یا از دیتاسورس استفاده کنید.

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

  1. حذف کلید فلش دار ComboBox
    نوشته شده توسط once4ever در بخش C#‎‎
    پاسخ: 6
    آخرین پست: یک شنبه 19 آذر 1391, 20:46 عصر
  2. سوال: ساخت ستاپ محدودیت دار
    نوشته شده توسط طبیب دل در بخش تولید و توسعه برنامه های Setup و Install
    پاسخ: 4
    آخرین پست: شنبه 28 فروردین 1389, 18:15 عصر
  3. ایا میشه یک فایل اجرایی ساخت که ایکون نداشته باشه
    نوشته شده توسط majjjj در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: شنبه 15 دی 1386, 11:04 صبح
  4. ساخت فایل نوع دار
    نوشته شده توسط Pioneers در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: شنبه 19 اسفند 1385, 10:53 صبح
  5. ساخت منوهای عکس دار
    نوشته شده توسط m-amini در بخش برنامه نویسی در 6 VB
    پاسخ: 17
    آخرین پست: شنبه 28 مرداد 1385, 14:07 عصر

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

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

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