ارتباط دو فرم

tara12514

عضو جدید
با سلام
من دو تا فرم دارم در فرم شماره 1با توم دارم که می خواهم با کلیک روی باتوم فرم شماره 2 بالا بیاید باید ازچه کدی استفاده کنم؟
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
با سلام
من دو تا فرم دارم در فرم شماره 1با توم دارم که می خواهم با کلیک روی باتوم فرم شماره 2 بالا بیاید باید ازچه کدی استفاده کنم؟

سلام
در رویداد کلیک دکمه فرم 1 :
کد:
Form2 frm2=new Form2();
frm2.ShowDialog();
 

senaps

عضو جدید
کاربر ممتاز
ببخشید که اینجا سوال میکنم ولی ربط داره:
چجوری میشه فرمی رو قبل از فرم اصلی اجرا کنیم؟!
یعنی form 2 که قراره پسوردی رو از کاربر بگیره،اول اجرا بشه،بعد form 1 !!!

و اینکه چجوری،ازیه فرم به فرم دیگه داده ارسال کنیم؟!
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
ببخشید که اینجا سوال میکنم ولی ربط داره:
چجوری میشه فرمی رو قبل از فرم اصلی اجرا کنیم؟!
یعنی form 2 که قراره پسوردی رو از کاربر بگیره،اول اجرا بشه،بعد form 1 !!!

و اینکه چجوری،ازیه فرم به فرم دیگه داده ارسال کنیم؟!

سلام
در مورد سئوال اول که کافیه در لود یا init فرم مورد نظر را صدا بزنی. اگر شرایطی رو که مورد نظرت بود فراهم شد فرم باز میشه وگرنه با Application.Exit میتونی خارج شی.
در مورد سئوال دومت در صورتی که بخوای به متغیری یا شیء از فرم دیگر دسترسی داشته باشی، کافیه public تعریفش کنی و در مورد اشیاء، modifier رو public می کنی. در این حالت با نمونه (instance) فرم بهش دسترسی داری. اگر هم متغیر استاتیک باشه که با اسم فرم هم میشه :gol:
 

کربلایی

مدیر بازنشسته
ببخشید که اینجا سوال میکنم ولی ربط داره:
چجوری میشه فرمی رو قبل از فرم اصلی اجرا کنیم؟!
یعنی form 2 که قراره پسوردی رو از کاربر بگیره،اول اجرا بشه،بعد form 1 !!!

و اینکه چجوری،ازیه فرم به فرم دیگه داده ارسال کنیم؟!

سلام
یک روش برای فرستادن داده از فرمی به فرم دیگر همون روشی هست که نگین خانوم محبت کردند:
تعریف متغییر بصورت public static

روش دوم که بنظرم بهتر و کنترل شده تر هست( فضای بیشتر میگیره) اینه که متغییر هایی که بهشون در دو فرم ارجاع دارید رو در یک کلاس دیگه بصورت پابلیک و استاتیک تعریف کنید و در فرم ها به اون متغیر ها رجوع کنید.
البته میتونید بجای تعریف استاتیک، از کلاس مذکور نمونه سازی هم بکنید
موفق باشید
 

RIG

متخصص C#.net
ببخشید که اینجا سوال میکنم ولی ربط داره:
چجوری میشه فرمی رو قبل از فرم اصلی اجرا کنیم؟!
یعنی form 2 که قراره پسوردی رو از کاربر بگیره،اول اجرا بشه،بعد form 1 !!!

و اینکه چجوری،ازیه فرم به فرم دیگه داده ارسال کنیم؟!
سوال اول . در POGRAM برنامه که هست NEW FORM1 خودتو عوض کن و اسم فرم بعدی رو بنویس اون فرم بالا میاد . در مورد سوال دوم هم تو سوالایی که قبلا شده اینو نوشتم و ضمیمه کردم تو سوالا بگردی که این مشکل باشه من اونجا فایلی ضمیمه کردم رو دانلود کن کارتو راه میندازه . موفق باشی
 

kerberos2023

عضو جدید
ببخشید که اینجا سوال میکنم ولی ربط داره:
چجوری میشه فرمی رو قبل از فرم اصلی اجرا کنیم؟!
یعنی form 2 که قراره پسوردی رو از کاربر بگیره،اول اجرا بشه،بعد form 1 !!!

و اینکه چجوری،ازیه فرم به فرم دیگه داده ارسال کنیم؟!
توی رویداد لود فرم اول بیا اول فرم رو مخفی کن this.hide() و بعد فرم دوم رو نشون بده
بعد دوباره فرم اول رو نشون بده
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
سوال اول . در POGRAM برنامه که هست NEW FORM1 خودتو عوض کن و اسم فرم بعدی رو بنویس اون فرم بالا میاد . در مورد سوال دوم هم تو سوالایی که قبلا شده اینو نوشتم و ضمیمه کردم تو سوالا بگردی که این مشکل باشه من اونجا فایلی ضمیمه کردم رو دانلود کن کارتو راه میندازه . موفق باشی

البته در این حالت فرم Startup تغییر میکنه :gol:
 

RIG

متخصص C#.net
البته در این حالت فرم Startup تغییر میکنه
درسته اینجوری مجددا فرم جدید فرم 1 میشه . اما من خاستم در حالت انتزاعی نحوه پسورد دادن رو به دوستمون بفهمونم. در این حالت در انتها فرم لاگین هاید میشه hide / به هر حال اینم روشی هست . تو کد نویسی بهتر میشه بهش دید داشت . :gol:
 

hoseng

کاربر بیش فعال
با سلام
من دو تا فرم دارم در فرم شماره 1با توم دارم که می خواهم با کلیک روی باتوم فرم شماره 2 بالا بیاید باید ازچه کدی استفاده کنم؟
البته میتونی از متد show() l فرم جدید هم استفاده کنی که در اینصورت فرم اصلی هم فعال خواهد بود
البته از mdi هم میتونی استفاده کنی
از استادای عزیز عذر میخوام ها که دخالت کردم
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
ببخشید من با وجود اینکه دوتا فرم دارم اما فقط form1 رو برام نشون میده و وقتی form2 میزنیم error میده.باید چی کارش کنم؟

دوست عزیز مطمئن هستید که عنوان فرم دوم را صحیح وارد می کنید؟ ممکن است نامگذاری دیگری داشته باشید :gol:
 

targol67

عضو جدید
دوست عزیز مطمئن هستید که عنوان فرم دوم را صحیح وارد می کنید؟ ممکن است نامگذاری دیگری داشته باشید :gol:

یه سوال دارم.برای اینکه بتونم دوتا فرم رو اینطوری به هم وصل کنم باید دوتا فرم رو توی یه پروژه تعریف کرده باشم؟
من دوتا windowsFormApplication جدا تعریف کردم(دوتا پروژه هست که میخام فرم اینها رو به هم متثل کنم). اگر هردو رو توی یک پروژه تعریف کنم محدودیت خاصی برام ایجاد نمیکنه که؟
ممنون از جوابتون:gol:
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
یه سوال دارم.برای اینکه بتونم دوتا فرم رو اینطوری به هم وصل کنم باید دوتا فرم رو توی یه پروژه تعریف کرده باشم؟
من دوتا windowsFormApplication جدا تعریف کردم(دوتا پروژه هست که میخام فرم اینها رو به هم متثل کنم). اگر هردو رو توی یک پروژه تعریف کنم محدودیت خاصی برام ایجاد نمیکنه که؟
ممنون از جوابتون:gol:

اگر هر دو پروژه در یک solution تعریف شوند مانند یک namespace میتوانند همدیگر را فراخوانی کنند :gol:
 

golinazhad_h

کاربر فعال
ببینید من صورت مسئله شما را اینطوری فرض میکنم بعد جوابتو میدم
فرض:
شما دوتا فرم دارید در یک پروژه فرم1 و فرم 2
الان وقتی اجرا میکنید فرم یک را نشان میده ولی شما میخواهید فرم 2 را که پسوورد میگیره اول نشان دهید بعد فرم1 را نشان دهید


شما کافیست در پروژه تون فایل program.cs را باز کنید ودر آخرین خط که نوشته application.run(new Form1) شما فرم1 را بنویسید Form2
بعد در داخل فرم2 یک کلید بزارید ود کد کلید بنویسید
Form1 frm=new Form1();
frm.ShowDilaog();
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
ببینید من صورت مسئله شما را اینطوری فرض میکنم بعد جوابتو میدم
فرض:
شما دوتا فرم دارید در یک پروژه فرم1 و فرم 2
الان وقتی اجرا میکنید فرم یک را نشان میده ولی شما میخواهید فرم 2 را که پسوورد میگیره اول نشان دهید بعد فرم1 را نشان دهید


شما کافیست در پروژه تون فایل program.cs را باز کنید ودر آخرین خط که نوشته application.run(new Form1) شما فرم1 را بنویسید Form2
بعد در داخل فرم2 یک کلید بزارید ود کد کلید بنویسید
Form1 frm=new Form1();
frm.ShowDilaog();

کاملاً درست هست اما مشکل دوست ما در ترتیب اجرا نیست به نظرم، نمیتونه فرم دیگر را اجرا کنه چون در پروژه دیگه ای هست :gol:
 

golinazhad_h

کاربر فعال
پس باید هر دوپروژ] را در یک سلوشن قرار دهد و پروژه دوم را به عنوان رفرنس در پروژ] اول اضافه کند
 

Similar threads

بالا