سلام دوستان عزیز میخواستم ببینم پطوری میشه یه متغیر رو سراسری تعریف کرد که یه مقدار رو نگه داره در تمام صفحات؟
Printable View
سلام دوستان عزیز میخواستم ببینم پطوری میشه یه متغیر رو سراسری تعریف کرد که یه مقدار رو نگه داره در تمام صفحات؟
یه کلاس تعریف کن و مقدار رو موقع لاگین بریز توش دیگه همه جا میتونی ازش استفاده کنی
public class UserName
{
static string _userName;
public static string CurrentUserName
{
set { _userName = value; }
get { return _userName; }
}
}
هر جا خواستي ميتوني به UserName.CurrentUserName دسترسي داشته باشي
ممنون از جوابهاتون ولی من قبلا بدون کلاس اینکاررو انجام دادم .ولی دقیقا یادم نیست چطوری بود فک کنم با متغیر گلوبال بودش؟
اونجوری هم میتونی ولی از این استفاده کنی که راحت تری !!!
اون جوری توی فرم اصلیت یک متغیر public تعریف میکنی و یوزر رو میریزی توش!!
بعد هرجا که نیاز داشتی یک شی از اون فرمت میسازی و بعد از اون متغیر استفاده میکنی!!!
این متغیر فرم اصلیت
public string username;
هرجا هم خواستی ازش استفاده کنی اینجوریه
yourform f = new yourform ();
f.username = this.label1.text;
به جای public از internal استفاده کن امنیتش بیشتره
همون کلاسا بهتره:لبخندساده: ولی خروجیش خالیه ؟؟؟
MessageBox.Show(username.CurrentUserName);
namespace ahanalat
{
class username
{
static string _userName;
public static string CurrentUserName
{
set { _userName = "alireza".ToString(); }
get { return _userName; }
}
}
}
با اين كدي كه نوشتي معلومه بايد خالي باشي! متد set وقتي فراخواني ميشه كه يك مقدار در پروپرتي CurrentUserName قرار بدي. اين كدي كه نوشتي يعني هر بار به username.CurrentUserName مقدار بدي مقدارش ميشه "alireza" ولي هنوز به كه هيچ مقداري بهش ندادي!
public class UserName
{
static string _userName;
public static string CurrentUserName
{
set { _userName = value; }
get { return _userName; }
}
}
.
.
.
username.CurrentUserName="alireza";
MessageBox.Show(username.CurrentUserName);