PDA

View Full Version : سوال: نشان دادن نام كاربر در تمامي صفحات



Iran58
چهارشنبه 26 خرداد 1389, 10:09 صبح
سلام
ميخواهم هرگاه كاربري لاگين كرد و وارد برنامه شد و به هر صفحه اي كه رفت نام كاربر دربالاي صفحه نمايش داده شود

mmd2009
چهارشنبه 26 خرداد 1389, 10:18 صبح
راه های زیادی هست

مثلا استفاده از ریجستری که وقتی کاربر وارد شد اسمش وارد ریجستری بشه و بعدش تو همه ی فرم ها فراخوانیش کنی

یه راهش هم استفاده از خود بانک هستش

البته اگر دوستان روش بهتری هم سراغ دارن بگن

زنده با یوونتوس

mohitlog
چهارشنبه 26 خرداد 1389, 10:23 صبح
سلام



به نظر من یک متغیر استاتیک تعریف کن و اولین بار که اسم روخوندی، اسم رو توش بریز بعد همه جا میتونی در اختیارش داشته باشی و ازش استفاده کنی

ASKaffash
چهارشنبه 26 خرداد 1389, 11:17 صبح
سلام
از فرمهای وراثتی استفاده کنید و کد تکراری ننویسید (اگر خواستید نمونه کد بنویسم)

حجتی نیا
چهارشنبه 26 خرداد 1389, 11:48 صبح
سلام



به نظر من یک متغیر استاتیک تعریف کن و اولین بار که اسم روخوندی، اسم رو توش بریز بعد همه جا میتونی در اختیارش داشته باشی و ازش استفاده کنی


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

mmd2009
چهارشنبه 26 خرداد 1389, 11:54 صبح
سلام
از فرمهای وراثتی استفاده کنید و کد تکراری ننویسید (اگر خواستید نمونه کد بنویسم)


سلام دوست عزیز

ممنون میشم اگه یه کم با کد توضیح بدید

با تشکر

زنده باد یوونتوس

Iran58
چهارشنبه 26 خرداد 1389, 12:44 عصر
سلام
از فرمهای وراثتی استفاده کنید و کد تکراری ننویسید (اگر خواستید نمونه کد بنویسم)
باسلام
اگركد بنويسيد خيلي عالي مي شود

ASKaffash
چهارشنبه 26 خرداد 1389, 13:06 عصر
سلام
فرض کنید یک فرم به شکل ذیل داریم :


public partial class MasterForm : Form
{
public static string MyHeader = "UserName";
public MasterForm()
{
InitializeComponent();
}
private void MasterForm_Load(object sender, EventArgs e)
{
this.Text = MasterForm.MyHeader;
}
}

حال هر فرمی که ایجاد کنیم و از این فرم به ارث ببرد در عنوان آن نام کاربر را نشان میدهد بدون اینکه نیازی باشد شما کدی بنویسید :


public partial class MyForm1 : MasterForm
{
public MyForm1()
{
InitializeComponent();
}
}



public partial class MyForm2 : MasterForm
{
public MyForm2()
{
InitializeComponent();
}
}

.
.
.
.
.

میلاد قاضی پور
چهارشنبه 26 خرداد 1389, 13:10 عصر
توی فرم لود فرم اول مینویسی که وقتی دایالوگ ریزالت فرم دوم اوکی شد نام کاربری موجود در تکس باکس بیاد توی یه متغیر یا کنترل که توی فرم اول تعریف شده . بعدش هم هروقت از هر فرمی خواستی نمونه بسازی قبل از شو کردنش بنویس مثلا لیبلش برابر متغیر حاوی نام کاربری باشه بعد شو دایالوگش کن.
ضمنا اون فرم لاگین(در اینجا فرم دوم) با لود شدن فرم اول لود میشه و اگر نام کاربری درست بود ، دایالوگ ریزالتش اوکی میشه و میره کنار .

ostovarit
چهارشنبه 26 خرداد 1389, 15:33 عصر
سلام
ميخواهم هرگاه كاربري لاگين كرد و وارد برنامه شد و به هر صفحه اي كه رفت نام كاربر دربالاي صفحه نمايش داده شود

یک کلاس تعریف کن کد زیر رو داخلش بنویس ...


class GlobalClass
{
private static string m_globaluser = "";

public static string GlobalUser
{
get { return m_globaluser; }
set { m_globaluser = value; }
}

private static bool MainMenuStrip = false;

public static bool MainMenu
{
get { return MainMenuStrip; }
set { MainMenuStrip = value; }
}

}


مثلا وقتی کاربر لاگین میکنه اسمش رو در string m_globaluser ذخیره کن و هر جا از برنامه خواستی میتونی راحت ازش استفاده کنی ...

من از این روش استفاده میکنم البته روشی که دوستمون گفتن از طریق وراثت به نظر من بهتر بود ...

mmd2009
چهارشنبه 26 خرداد 1389, 16:56 عصر
سلام
فرض کنید یک فرم به شکل ذیل داریم :


public partial class MasterForm : Form
{
public static string MyHeader = "UserName";
public MasterForm()
{
InitializeComponent();
}
private void MasterForm_Load(object sender, EventArgs e)
{
this.Text = MasterForm.MyHeader;
}
}
حال هر فرمی که ایجاد کنیم و از این فرم به ارث ببرد در عنوان آن نام کاربر را نشان میدهد بدون اینکه نیازی باشد شما کدی بنویسید :


public partial class MyForm1 : MasterForm
{
public MyForm1()
{
InitializeComponent();
}
}


public partial class MyForm2 : MasterForm
{
public MyForm2()
{
InitializeComponent();
}
}
.
.
.
.
.


روش خوبیه ولی یه سوال

میشه مقدارش رو تو یک لیبل قرار بدیدم ؟

زنده باد یوونتوس

ASKaffash
شنبه 29 خرداد 1389, 08:14 صبح
سلام
روی هر چیزی میتوانید قرار دهید کافیست در فرم MasterForm یک لیبل قرار دهید و به Text درون لیبل مقدار دهی کنید