PDA

View Full Version : سوال: ایجاد مشخصه جدید از روی تعداد اندیس های آرایه



Mori Bone
پنج شنبه 13 شهریور 1393, 12:22 عصر
سلام. یه آرایه دارم به شکل زیر:
List<int> a = new List<int> { 100, 54512, 548, 5487, 45, 48 };

یه کنترل درس کردم که از روی کنترل داخلی ویندوز ارث بری کرده. حالا می خوام یه مشخصه جدید براش درس کنم که به صورت آبشاری(combo) هست. که آیتم های این لیست می خوام از 1 تا تعداد اندیس های این متغیر(که اینجا 6 هست) باشه.
چطوری باید اینو درس کنم؟

Mori Bone
جمعه 14 شهریور 1393, 11:18 صبح
کسی بلد نیست؟:ناراحت::افسرده:

Mori Bone
شنبه 15 شهریور 1393, 09:46 صبح
تالار به این شلوغی. تاپیک به این خلوتی:متفکر:
سوال به آسونی جون من جواب بدبد دیه:عصبانی++:

Mori Bone
پنج شنبه 03 مهر 1393, 08:35 صبح
چرا جواب نمیدید؟:عصبانی::گیج::افسرده: :متعجب::عصبانی++:

winner1
پنج شنبه 03 مهر 1393, 09:01 صبح
اگه منضورت کمبو باکس من از یه فرم استفاده کردم یه دکمه استفاده کردم که زمانی که دی اکتیو میشه بسته میشه وقتی رو دکمه لیست کلیک میکنی زیرش باز میشه موفق باشی

Mori Bone
پنج شنبه 03 مهر 1393, 09:15 صبح
اگه منضورت کمبو باکس من از یه فرم استفاده کردم یه دکمه استفاده کردم که زمانی که دی اکتیو میشه بسته میشه وقتی رو دکمه لیست کلیک میکنی زیرش باز میشه موفق باشی
ممنون از پاسختون:تشویق:. گقتم که توی شی گراییی نه توی طراحی

winner1
پنج شنبه 03 مهر 1393, 09:18 صبح
یعنی چی تو شی گرایی :لبخند: اگه منظورت اینه همه چی و خودت با کد درست کنی خیلی سادست Form form=new Form();
بعد مشخصاتشو تنظیم میکنی رفتاراش خصوصیاتشو بعدم کنترل ها یا هر چی که داری و ایجاد و form.Controls.Add(myControl)

Mori Bone
پنج شنبه 03 مهر 1393, 09:25 صبح
مگه برای ایجاد مشخصه جدید که به صورت لیست هستش(که توی properties زیاد هستش مثلا مشخصه visibility)، از enum ها استفاده نمی کنیم؟ من نمی خوام به شکل زیر استفاده کنم.
enum colors { red , blue , green
}
public Colors colorProperty {
get { ... }
set { ... }
}

winner1
پنج شنبه 03 مهر 1393, 09:27 صبح
کلا فک کنم متوجه سوالتون نشدم :متفکر:

Mori Bone
پنج شنبه 03 مهر 1393, 09:28 صبح
خیلی سادس:
یه کلاس(کنترل) دارم که از کنترل button ارث بری می کنه.
یه فیلد آرایه ای از نوع عددی دارم که اعداد رو تو خودش ذخیره منیکنه. مثله کده زیر:
List<int> a = new List<int> { 100, 54512, 548, 5487, 45, 48 };
حالا نمی خوام کاربر به جز 1 تا 6 عدده دیگه ای رو انتخاب کنه. که عدد 6 تعداد اندیس های آرایه ام هست. حالا توی پنجره properties توی نمای طراحی می خوام یه لیست درست کنه از یک تا 6
به خدا دگ نمی دونم چطوری توضیح بدم. خودم هم گیج شدم.:گیج:

winner1
پنج شنبه 03 مهر 1393, 09:33 صبح
چند لحظه منتظ بمونید. همین پست رو آپدیت می کنه و کل توضیحات رو توش مینویسم. منتظر پاسختون هستم

اوکی دوس من

Mori Bone
پنج شنبه 03 مهر 1393, 09:43 صبح
اوکی دوس من
آپدیت شد:خجالت:

winner1
پنج شنبه 03 مهر 1393, 09:51 صبح
آهان کنترل درست کردی و می خوای کاربر تو این کلاس به لیستی که داری بیشتر از 6 تا نتونه عدد بده خوب اگه کاربر عداد و تک تک ادد میزنه تو متد ادد برسی کن که اگه تعداد لیست جا داشت ادد کنه اگه نه کاربر و اگاه کن ولی اگه میخوای لیست یکجا بده به ابجکتت و به صورت پراپرتی باشه بازم داخل متد ست پراپرتی قبل ست شرط بذار اگه تعداد لیستس که کاربر داده از شیش تا بیشتر بود کاربر و یه جوری مطلع کنه تعداد لیست نمیتونه بیش از شیش تا باشه

winner1
پنج شنبه 03 مهر 1393, 09:53 صبح
public List<int> MyObjectList
{
set
{
if(value.Count>6)
Throw new systemExeption("error")
else
this.numberList=value;
}

}

Mori Bone
پنج شنبه 03 مهر 1393, 11:07 صبح
من این کلاس رو توی wpf دارم درست می کنم.
می خوام وقتی مشخصه ی از قبل تعریف شده1 borderthickness تغییر کرد یه کاری انجام بشه.
یعنی به مشخصه کلاس پدر دسترسی داشته باشم.

1- مشخصه ی از قبل تعریف شده: مشخصه کلاس پدر
فکر کنم از virtual باید استفاده کنم. درسته؟

winner1
پنج شنبه 03 مهر 1393, 11:14 صبح
سوالات خیلی گیج کنندس ولی تو میخوای به محض تغییر یه خصوصیت یه متد و فراخوانی کنی درسته ؟
اگه اینه بازم میگم داخل بدنه متد یا خصوصیت متد مورد نظرتو صدا بزن یا از رویداد استفاده کن vitrual برای سربارگذاری یه متد یا خصوصیت از کلاس پایه مشتق شده است یعنی اینکه میگی متدی که در کلاس پایس در کلاس مشتق شده من میخوام به این شکل عمل کنه پس overridesh میکنی به همین سادگی

Mori Bone
پنج شنبه 03 مهر 1393, 11:20 صبح
یعنی اینجوری؟:

public override Thickness BorderThickness {
set { ((Border)this.Content).BorderThickness = value; }
}


اینجوری نوشتم ولی نمیشه توش از set استفاده کنم

winner1
پنج شنبه 03 مهر 1393, 11:36 صبح
اونور خصوصیتت vitruale ?

Mori Bone
پنج شنبه 03 مهر 1393, 11:38 صبح
اونور خصوصیتت vitruale ?
اگه منظورتون virtual هست، بدبختیم همینه که نه نیس. اگه بود که می تونستم مشکلی نبود که:اشتباه:

Control.BorderThickness Property (http://msdn.microsoft.com/en-us/library/system.windows.controls.control.borderthickness(v= vs.110).aspx)
[BindableAttribute(true)]
public Thickness BorderThickness { get; set; }