PDA

View Full Version : سوال: خروجی ComboBoxهای موجود در یوزرکنترل اختصاصی



aliramazani
سه شنبه 28 شهریور 1396, 16:52 عصر
سلام
من یک یوزر کنترل اختصاصی دارم که شامل سه کمبو باکسه که سال و ماه و روز را نشون میده.
چطور زمانی که این فایل را در پروژه ویندوزی استفاده کردم خروجی به من به صورت ترکیب مقدار سه کمبو باکس بده.
مثلا بشه اینطور نوشت:
usercontrol1.Text
که این دستور مقادیر سه کمبو را به صورت y/m/d نشون بده

Mahmoud.Afrad
سه شنبه 28 شهریور 1396, 17:07 عصر
پراپرتی تعریف کنید و در قسمت get مقادیر مورد نظر را برگردانید
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/properties
https://msdn.microsoft.com/en-us/library/aa288470.aspx

aliramazani
سه شنبه 28 شهریور 1396, 17:15 عصر
اینکار رو کردم
یه پراپرتی برای سال
یکی برای ماه
یکی برای روز
یکی هم ترکیب سه تاش
ولی توی برنامه هر سال و ماهی انتخاب بشه اخرش همون چیزی که توی لود اولیه بوده را نشون میده
مگر اینکه توی کد برنامه سال و ماه و روز را جدا بهش بدم

Mahmoud.Afrad
سه شنبه 28 شهریور 1396, 21:33 عصر
بایست نمونه کد یا پروژه بزارید.

danialafshari
سه شنبه 28 شهریور 1396, 23:20 عصر
با سلام
آیا به این شکل بدردتون می خوره؟
private void button1_Click(object sender, EventArgs e) {
MessageBox.Show(comboDate1.Text);
}

فقط کافیه در کامپوننت خاصیت text رو override کنید

public override string Text
{
get
{
return string.Format("{0}/{1}/{2}", cboYears.Text.ToString(), cboMonth.Text.ToString(), cboDay.Text.ToString());
}
set
{
base.Text = value;
}
}

موفق باشید

aliramazani
چهارشنبه 29 شهریور 1396, 11:41 صبح
فکر کنم به خاطر override نکردن کد من بود که جواب نمیداد. چون باید جدا جدا کمبوها را مقداردهی سال و ماه و روز می کردم

danialafshari
چهارشنبه 29 شهریور 1396, 13:04 عصر
با سلام
کدی از شما ندیدم که مشکلتون رو بگم کجاست ولی ربطی به Override نداره
من در اینجا Override کردم چون مثال Text رو زدید ولی بدون Override هم میتونستم یک پراپرتی جدید بسازم و با همون یک خط کد اصلی مقدار دهیش کنم
موفق باشید