PDA

View Full Version : کمک در نرم افزار دبیرخانه



j_naroogha@yahoo.com
یک شنبه 27 دی 1388, 12:39 عصر
سلام دوستان گرامی
من دارم روی پروزه دبیرخانه برای درس پروژه کارمی کنم
من در فرم ورود نرم افزار نام کاربری رو از کاربر میگیرم و اگه درست بود وارد صفحه اصلی میشه

حالا میخام این نام کاربری رو توی فرم بعدی نمایش بدم .
اما هرچه انجام میدم نمیشه
متغیر رو public تعریف کردم و.......
اگه کسی کمکم کنه ممنون میشم.

Rejnev
یک شنبه 27 دی 1388, 12:55 عصر
سلام
یک کلاس به برنامه اضافه کنید(از نوع static)(منوی Project->addClass)
یک فیلد(متغیر) با نام userName رو به اون اضافه کنید(از نوع static)
برای فیلد userName یک property ایجاد کنید:



static class User
{
static string userName; //this is field
static string UserName //this is property
{
get{return userName;}
set{userName=value;}
}
}

هنگام ورود بنویسید



User.UserName='ali';

که ali همون TextBox نام تون هست.
در فرم دوم هم همینطور استفاده کنید.مثلا:



this.Text=User.UserName;

در واقع از یک واسط استفاده کردیم که اطلاعات رو نگه داری کنه
کارهای دیگه ای هم میتونید در این کلاس انجام بدین مثلا خود Login کردن رو بصورت یک تابع در این کلاس تعریف کنید و ...

j_naroogha@yahoo.com
یک شنبه 27 دی 1388, 12:56 عصر
منظورم فرم اصلیه
منظورم اینه که چه جوری میشه مقدار رو توی یه فرم بگیرم و توی فرم دیگه ازش اسنفاده کنم

Yasersadegh
یک شنبه 27 دی 1388, 12:57 عصر
سلام دوستان گرامی
من دارم روی پروزه دبیرخانه برای درس پروژه کارمی کنم
من در فرم ورود نرم افزار نام کاربری رو از کاربر میگیرم و اگه درست بود وارد صفحه اصلی میشه

حالا میخام این نام کاربری رو توی فرم بعدی نمایش بدم .
اما هرچه انجام میدم نمیشه
متغیر رو public تعریف کردم و.......
اگه کسی کمکم کنه ممنون میشم.
سلام دوست عزيز
متغير public رو به چه صورت استفاده كرديد!!؟ نميشه كه جواب نده!! حتما يه جا اشكال داره كارتون!!:اشتباه:
ببينيد بايد در فرم بعدي يه متغير رو public تعريف كنيد:



public string var1;


بعد در فرم ورود بعد از چك كزدن نام كاربري و ... دستورات رو به شكل زير بنويسيد:



NEXTFORMNAME frm=new NEXTFORMNAME();
frm.var1=Username;


دوست عزيز اگه به اين شكل نوشته باشيد نبايد مشكلي باشه!!
اگه مشكلي بود بفرماييد!!:چشمک:

mir555
یک شنبه 27 دی 1388, 14:29 عصر
راحت ترین کار این یک متغییر public تو فرم دومت بگریری وقتی یک متغییر از نوع فرم دوم ساختی با استفاده از اسم متغییر(به اون فرم اختصاص دادی) و یک . اسم متغییر public می تونی به اطلاعات دسترسی پیدا کنی

seven7777777
یک شنبه 27 دی 1388, 18:14 عصر
سلام
اگه فقط نام و نام خانوادگیشو می خوای ، روش دوستمون باقرانی خوبه . همچنین روش زیر جواب میده :
داخل فرم بعدیت یه متغیر Private تعریف کن و بعد داخل متد سازنده فرم و زیر InitializeComponent(); متغیر فرم قبل رو می گیری و به متغیر فرم دوم نسبت میدی . کل کار به شکل زیر :


Private string name = String.Empty;
public FileRegisterForm(String fullname)
{
InitializeComponent();
name=fullname;
{

حالا وقتی در فرم اول بخوای از فرم دوم شی بسازی ، باید تو متد سازندش نام کاربر رو بیاری :

NextForm frm = new NextForm(uname);
frm.show();
به همین راحتی .
کلا هم دنبال متغیر public نرو . اما روش دیگه که برای زمانی است که اطلاعات بیشتری می خوای اینه که کد کاربر login شده رو بدی به فرم بعد و انجا هرچی خواستی با اون کد از db برداری .

ahrimaneahurai
سه شنبه 29 دی 1388, 09:24 صبح
سلام یه کلاس بیار یه متغیر public static string توش درست کن و موقع ورود user رو بهش بده

razavi_university
سه شنبه 29 دی 1388, 09:42 صبح
لطفا از متغیر Static استفاده نکنید, روشهای زیادی برای اینکار وجود دارد مثلا Application domain
در مورد Application domain جستجو کنید و از ان استفاده کنید
اگر فرض کنیم تمامی اسمبلی های برنامه شما در یک Application Domain اجرا می شوند می توانیم از کد زیر استفاده کنیم .

برای ذخیره :





AppDomain.CurrentDomain.SetData("Name", "Value");





برای بازیابی :





AppDomain.CurrentDomain.GetData("Name");





البته روش های دیگری هم هست و اگر چندین Application Domain داشته باشیم باید این کد را کمی تغییر دهیم .

موفق باشید