PDA

View Full Version : سوال: چگونگی ارتباط بین دو فرم در سی شارپ



Ohadi ali
چهارشنبه 11 اردیبهشت 1392, 16:05 عصر
سلام
من داخل یک برنامه دو تا فور به نام های Frm1 , Frm2 دارم و روی فورم 1 یک دکمه وجود داره حالا می خوام وقتی روی این دکمه کلیک کردم فورم 2 نمایش داده بشه ؟
کسی اینجا می تونه کمک کنه ؟ ممنون میشم من تا حالا سی شارپ کار نکردم بیشتر با VB کار کردم که دستوراتشون با هم فرق دارن
پیشاپیش ممنون

h_assefi
چهارشنبه 11 اردیبهشت 1392, 16:12 عصر
سلام دوست عزیز

Frm2 f=new Frm2;
f.showDialog();

اینجور چیزها را میتونی با وب سایت هایی که Convert انجام میدند به راحتی پیدا کنی
موفق باشید

mousa1992
چهارشنبه 11 اردیبهشت 1392, 16:15 عصر
frm2 f2 = new frm2();
f2.show();
// or
f2.showDialog();

سلام
اول نمونه ای از کلاس فرم 2 ساخته میشه و بعد میتونید به دو حالت فرم 2 رو فراخوانی کنید
حالت اول show که فرم 2 باز میشه و فرم 1 به روند کارش ادامه میده
showDialog : با رسیدن به این خط کد برنامه متوقف میشه و فرم 2 باز میشه ( به صورت dialog باز میشه ) و بعد از بستن فرم 2 کدهای بعدی اجرا میشن و برنامه به کارش ادامه میده ( تا فرم 2 بسته نشه اجازه دسترسی به فرم 1 نیست - که خودتون به این مسائل آشنایی دارید )

موفق باشید

semova2
یک شنبه 29 اردیبهشت 1392, 11:58 صبح
سلام
اگر دو تا فرم جدا از هم باشن،چی کار باید کرد؟مثلا یه فرم رو در یه فولدر دیگه ای ذخیره کردم
الان من دو تا فرم به اسم های application و software دارم.توی بخش software هم یه menu strip دارم که وقتی روش کلیک میکنم میخام بره به فرم application.چیکار باید کنم؟

alborz92
سه شنبه 05 فروردین 1393, 13:56 عصر
دادا
من این کد رو میزنم ارور میده
عکس رو تو ضمیمه گذاشتم
اینم کدی که تا اینجا نوشتم
دانلود کد (http://up.qabzar.ir/up/qabzar/%D8%B9%D8%B1%D9%82%DB%8C%D8%A7%D8%AA%20%DA%AF%DB%8 C%D8%A7%D9%87%DB%8C.zip)
اگه میشه کمک کنید کد رو قرار بدید برام تو سورس برنامه
اینم لینک عکس ( تو ضمیمه هم گذاشتم )
http://up.qabzar.ir/up/qabzar/Ashampoo_Snap_2014.04.08_02h19m43s_002_.png

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

khokhan
سه شنبه 05 فروردین 1393, 14:06 عصر
دادا
من این کد رو میزنم ارور میده
عکس رو تو ضمیمه گذاشتم
اینم کدی که تا اینجا نوشتم
دانلود کد (http://up.qabzar.ir/up/qabzar/%D8%B9%D8%B1%D9%82%DB%8C%D8%A7%D8%AA%20%DA%AF%DB%8 C%D8%A7%D9%87%DB%8C.zip)
اگه میشه کمک کنید کد رو قرار بدید برام تو سورس برنامه
اینم لینک عکس ( تو ضمیمه هم گذاشتم )
http://up.qabzar.ir/up/qabzar/Ashampoo_Snap_2014.04.08_02h19m43s_002_.png

من به این کد خیلی نیاز دارم
اگه میشه کد رو تو سورس برام بزارید
0................................................. ......:لبخند:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim form As New frmList()
form.Show()

End Sub

alborz92
سه شنبه 05 فروردین 1393, 14:20 عصر
دمت گرم داداش کار کرد:لبخند:
وقتی برنامه تموم شد تو همین تاپیک میزارم
اسم تو هم میزارم تو برنامه تو قسمت درباره برنامه نویس

alborz92
سه شنبه 05 فروردین 1393, 14:41 عصر
راستی دادا
این که هر بار بزنی فرم باز میشه و فرم قبلی هست
کدی هست که بزارم وقتی روی دکمه کلیک کرد فرم دوم باز شد فرم یک بسته بشه و وقتی فرم دوم رو بست فرم اول دوباره نمایش داده بشه

alborz92
سه شنبه 05 فروردین 1393, 15:21 عصر
دوستان کدی هست که فقط یبار فرم دوم باز بشه
با این کد هربار که روی دکمه کلیک کنی فرم باز میشه
کدی هست که فقط یکبار فرم دوم باز بشه

sohil_ww
سه شنبه 05 فروردین 1393, 15:47 عصر
من که نفهمیدم شما برای سی شارپ کد می خواید یا vb یه راهنمایی در این زمینه مارو بکنید کمکتون می کنیم در ضمن برای این کار شما هم راه های بیسیاری هست که من یه راهی که کار شما رو انجام می ده ولی سر بار زیادی داره رو می گم چون

فرم اولتون مخفی کنید و فرم دو رو نمایش بدید و بعد در fromclosed فرم دوم بگید فرم یک نمایش داده بشه
بازم می گم این کار سر بار داره به علت این که فرم یک باز می مونه اگه می تونید آشنا هستید در مورد task ها یا Thread ها مطالعه کنی این کارو برات انجام می دن

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

alborz92
سه شنبه 05 فروردین 1393, 15:54 عصر
سلام
سی شارپ

alborz92
سه شنبه 05 فروردین 1393, 16:00 عصر
کدشو گذاشتم تو یکی از پست های همین تاپیک
اگه میشه یه جوری برام درست کنید
یه برنامه اطلاع رسانیه
من برای اندروید رو دارم گفتم برا PC هم بنویسم
تو دلم گفتم خیلی آسونه:لبخند:
فقط تو قسمت دیزاین میام و طراحی میکنم و واسه دکمه ها هم لینک میزارم که بره به یه فرم دیگه
نگو این همه ریزه کاری داره
هرکی میتونه بیاد کمک کنه شاید همین یه برنامه توپ شد
ازش پول در اوردیم:لبخند::لبخند::لبخند:
هرکی میتونه بیاد مثلا یکی عکساش رو بیاره

NASA's Spaceman
سه شنبه 05 فروردین 1393, 16:01 عصر
سلام بفرما
private void button1_Click(object sender, EventArgs e)
{
Form2 a = new Form2();
a.Show();
this.Hide();
}
با سپاس

alborz92
سه شنبه 05 فروردین 1393, 16:11 عصر
ارور میگیره از این کد
کدی که من برای باتن گذاشتم و کار کرد اینه:

Dim form As New frmList()
form.Show()
کدی باشه که روی این بیاد و ارور نده
من از ویژوال استدیو 2012 استفاده میکنم ( گفتم شاید کد ها با هم فرق داشته باشن )

NASA's Spaceman
سه شنبه 05 فروردین 1393, 16:13 عصر
اینکه تو سی شارپ کاملا اشتباه هست
همونی که اون بالا نوشتم تو سی شارپ صحیح هست و اجرا میشه
با سپاس

alborz92
سه شنبه 05 فروردین 1393, 16:16 عصر
من زیر همون کدم گذاشتم ولی ارور داد
برنامه رو اجرا کردم کلیک کردم فرم دوم باز شد ولی فرم اول هم باز مونده بود
راستی چیکار کنم فقط با یکبار کلیک روی دکمه فرم دوم باز بشه نه با هربار کلیک
الان هربار که کلیک میکنی فرم دوم باز میشه و با بستن فرم اول همه فرم ها بسته میشه

NASA's Spaceman
سه شنبه 05 فروردین 1393, 16:20 عصر
والا من که نفهمیدم منظورت چیه ولی میتونی بجای کد نویسی توی دکمه تو یه تایمر بزاری که بعد از هر چند ثانیه یا دقیقه فرم دوم رو باز کنه و کدت اشتباه نوشتی دقیقا کدی که الان بهت میدم رو بنویس
Form2 a = new Form2();
a.Show();
this.Hide();
با سپاس

alborz92
سه شنبه 05 فروردین 1393, 16:22 عصر
ارور میده دادا

sohil_ww
سه شنبه 05 فروردین 1393, 16:24 عصر
دوست عزیز عکسی که شما گذاشتی از کداش معلومه داری با vb کد می زنی که ! من یکی که قاطی کردم (املای قاطی درسته ؟) ؟ !

NASA's Spaceman
سه شنبه 05 فروردین 1393, 16:26 عصر
دقیقا منم گیج شدم که کدوم رو میخواد وی بی یا سی شارپ؟؟؟؟؟؟؟؟
با سپاس
اگه تو وی بی می خوای میشه این
Form2.Show
Form1.Hide



با سپاس

alborz92
سه شنبه 05 فروردین 1393, 16:42 عصر
راست میگید من دارم تو ویژوال استدیو با وی بی مینویسم
حالا تو هردو کدشو بدید
هم وی بی هم سی شارپ

NASA's Spaceman
سه شنبه 05 فروردین 1393, 16:46 عصر
خواهشا دفعه بعدی بیشتر دقت کن تو کدوم تالار هستی
سی شارپ
Form2 a = new Form2();
a.Show();
this.Hide();
اینم وی بی
Form2.Show
Form1.Hide

با سپاس

alborz92
سه شنبه 05 فروردین 1393, 16:52 عصر
یه سوال دیگه در مورد سی شارپ
تو سی شارپ با چه کدی مثل وی بی کادر msgbox ایجاد کنم

NASA's Spaceman
سه شنبه 05 فروردین 1393, 16:59 عصر
بفرما این دو نمونه هست که اولی کامل تر هست
MessageBox.Show("Happynew year", "New year", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
MessageBox.Show("Happy new year 2573");
با سپاس

farhad.k.t
سه شنبه 05 فروردین 1393, 17:01 عصر
MessageBox.Show("Test");;

alborz92
سه شنبه 05 فروردین 1393, 17:19 عصر
راستی داداش
اون کدی کع دادی برای مخفی کردن
فرم دوم رو نشون میده فرم اول رو مخفی میکنه
ولی من میخوام وقتی فرم دوم رو بست دوباره فرم اول نمایش داده بشه

Morteza-76
سه شنبه 05 فروردین 1393, 18:01 عصر
اگه میخواهید با بسته شدن فرم 2 , فرم 1 تون باز بشه توی رویداد deactivate فرم 2 این کدها رو بنویسید

private void Form2_Deactivate(object sender, EventArgs e)
{
Form1 objfrm = new Form1();
objfrm.Show();
}

NASA's Spaceman
سه شنبه 05 فروردین 1393, 18:04 عصر
اینو تو فرم دوم رویداد closing بنویس این برا سی شارپ هست
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Form1 b = new Form1();
b.Show();
this.Hide();
}
با سپاس

Mahmoud.Afrad
سه شنبه 05 فروردین 1393, 18:22 عصر
alborz92 (http://barnamenevis.org/member.php?323919-alborz92) تا اینجا که همه سوالای شما تکراری هست.
فرم دوم رو ShowDialog کنید. بلافاصله خط قبل و بعد فرم جاری رو مخفی و دوباره نمایش بدید.

Form2 frm = new Form2();
this.Hide();
frm.ShowDialog();
this.Show();

Mahmoud.Afrad
سه شنبه 05 فروردین 1393, 18:29 عصر
در رویداد باتنی که میخاهید فرم دوم نمایش داده بشه.

NASA's Spaceman
سه شنبه 05 فروردین 1393, 18:33 عصر
از طریق FormClosing هم میتونه
با سپاس

miss.mitra
پنج شنبه 18 مرداد 1397, 11:11 صبح
سلام من هم همین مشکل رو دارم لطفا راهنمایی کنید