msn2msn
یک شنبه 03 آذر 1392, 00:31 صبح
سلام دوستان
من تو برنامم یه struct به اسم date درست کردم ،
public struct date
{
static int _year;
public static int year
{
get { return _year; }
set { _year = value; }
}
public static int defult = 1300;
public date(int y)
{
if (y.ToString().Length != 4 || y < 1300)
throw new System.NotImplementedException("عدد سال معتبر نمیباشد");
_year = y;
}
}
بعد یه usercontrol ایجاد کردم که توش یه پروپرتی از نوع date اضافه کردم
public date dYear
{
get { return (date)GetValue(dYearProperty); }
set { SetValue(dYearProperty, value); }
}
publicstaticreadonlyDependencyProperty dYearProperty =
DependencyProperty.Register("dYear", typeof(date), typeof(TextBoxDate), newUIPropertyMetadata(null));
حالا دوتا مشکل دارم:
1- اینکه تو قسمت UIPropertyMetadata جز مقدار null چیزی نمیتونم وارد کنم.
2- اینکهوقتی تو فرمم usercontrol رو اضافه میکنم نمیتونم از پنجره propertis بهش مقدار بدم.
در اصل میخوام یه property ایجاد کنم که که فقط اعداد بین 1300 و 9999 رو از کاربر دریافت کنه و اعداد غیر این رو قبول نکنه و این بررسی تو زمان طراحی فرم اتفاق بیفته، نه تو کد نویسی و زمان اجرا.
حالا اگه روشی مد نظرتون هیت یا روش خودم قابل اصلاحه ممنون میشم راهنماییم کنید.
من تو برنامم یه struct به اسم date درست کردم ،
public struct date
{
static int _year;
public static int year
{
get { return _year; }
set { _year = value; }
}
public static int defult = 1300;
public date(int y)
{
if (y.ToString().Length != 4 || y < 1300)
throw new System.NotImplementedException("عدد سال معتبر نمیباشد");
_year = y;
}
}
بعد یه usercontrol ایجاد کردم که توش یه پروپرتی از نوع date اضافه کردم
public date dYear
{
get { return (date)GetValue(dYearProperty); }
set { SetValue(dYearProperty, value); }
}
publicstaticreadonlyDependencyProperty dYearProperty =
DependencyProperty.Register("dYear", typeof(date), typeof(TextBoxDate), newUIPropertyMetadata(null));
حالا دوتا مشکل دارم:
1- اینکه تو قسمت UIPropertyMetadata جز مقدار null چیزی نمیتونم وارد کنم.
2- اینکهوقتی تو فرمم usercontrol رو اضافه میکنم نمیتونم از پنجره propertis بهش مقدار بدم.
در اصل میخوام یه property ایجاد کنم که که فقط اعداد بین 1300 و 9999 رو از کاربر دریافت کنه و اعداد غیر این رو قبول نکنه و این بررسی تو زمان طراحی فرم اتفاق بیفته، نه تو کد نویسی و زمان اجرا.
حالا اگه روشی مد نظرتون هیت یا روش خودم قابل اصلاحه ممنون میشم راهنماییم کنید.