Skip to content

CesListBox

CES edited this page Dec 24, 2023 · 4 revisions

توضیح

لیست باکس امکان نمایش تصویر و جستجوی مقدار را فراهم میکند.

ویژگی ها

  • CesSelectedItem : این ویژگی آخرین آیتم انتخاب شده در لیست باکس رانگهداری می کند.
  • CesSelectedItems : این ویژگی در صورتی که قابلیت CesMultiSelect فعال باشد تمام آیتم های انتخاب شده در لیست باکس را نگهداری خواهد کرد.
  • CesMultiSelect : فعال / غیر فعال کردن قابلیت چندین آیتم بصورت همزمان در لیست باکس.
  • CesIndicatorColor : اگر ویژگی CesShowIndicator فعال باشد، زمانی که ماوس روی آیتم ها حرکت کند یک نشانگر رنگی کنار آیتم نمایش داده خواهد شد و آیتم هایلایت نخواهد شد.
  • CesHighlightColor : تعیین رنگ هایلایت زمانی که که کاربر ماوس را روی آیتم ها حرکت می دهد.
  • CesSelectionColor : تعیین رنگ پس زمینه برای آیتم هایی که توسط کاربر انتخاب می شوند.
  • CesSelectionForeColor : تعیین رنگ متن برای آیتم هایی که توسط کاربر انتخاب می شوند.
  • CesValueMember : تعیین نام ستونی که قرار است مقدار آن به عنوان Value برای هر آیتم در نظر گرفته شود.
  • CesDisplayMember : تعیین نام ستونی که قرار است مقدار آن به عنوان متن قابل نمایش برای هر آیتم در نظر گرفته شود.
  • CesImageMember : تعیین نام ستونی که قرار است مقدار آن به عنوان تصویر برای هر آیتم در نظر گرفته شود.
  • CesShowIndicator : فعال / غیر فعال کردن ویژگی نمایش نشانگر کنار آیتم ها بجای هایلایت کردن آیتم ها زمانی که کاربر ماوس را روی آیتم ها حرکت می دهد.
  • CesShowImage : اگر مقدار این گزینه برابر true باشد کنترل لیست باکس تصویر متناظر با آن آیتم را نمایش خواهد داد.
  • CesImageWidth : تعیین پهنای تصویر هر یک از آیتم ها.
  • CesItemHeight : تعیین ارتفاع آیتم های لیستباکس.
  • CesShowSearchBox : فعال / غیر فعال کردن نوار جستجوی بالای لیست باکس.
  • CesShowStatusBar : فعال / غیر فعال کردن نوار وضعیت پایین لیست باکس.

متدها

  • CesDataSource : جهت ارسال لیست داده ها باید لیست مورد نظر را به متد CesDataSource ارسال کنید. این متد Generic بوده و باید نوع لیست نیز مشخص شود.
  • ClearSelection: با صدا زدن این متد تمامی انتخاب های کاربر حذف خواهد شد.

رویداد CesSelectedItemChanged

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

کلاس CesListBoxItemProperty

در زمان ارسال لیست به کنترل از طریق متد CesDataSource چنانچه کلاسی تعریف نکرده باشید می توانید از این کلاس استفاده کنید و برای یک لیست از داده های string فقط کافیست تا متغیر Text از کلاس مقداردهی شود.
public class CesListBoxItemProperty
{
    // تعیین مقدار متن جهت نمایش الزامی می باشد
    public CesListBoxItemProperty(string? text = null, object? value = null, Image? image = null)
    {
        this.Value = value;
        this.Text = text;
        this.Image = image;
    }

    public string? Text { get; set; }
    public object? Value { get; set; }
    public Image? Image { get; set; }
}

مثال

در مثال زیر نتیجه دستور System.Enum برگشت یک لیست از نوع string است که در نهایت تبدیل به نوع کلاس CesListBoxItemProperty شده است.
var comboSource = new List<Ces.WinForm.UI.CesListBox.CesListBoxItemProperty>();

comboSource = System.Enum
    .GetNames(typeof(CesGridFilterTypeEnum))
    .OrderBy(x => x)
    .Select(s => new CesListBox.CesListBoxItemProperty
    {
        Value = s,
        Text = s,
    })
    .ToList();

comFilterType.CesValueMember = "Value";
comFilterType.CesDisplayMember = "Text";
comFilterType.CesDataSource<Ces.WinForm.UI.CesListBox.CesListBoxItemProperty>(comboSource);