PDA

View Full Version : سوال: سوال ساده : انتقال کاربر به فرم دیگر



elham1611
سه شنبه 16 خرداد 1391, 16:38 عصر
با سلام
:لبخند:سوالم خیلی ابتدایی و خنده داره اما من اصلا با C#‎ کار نکردم و با asp,net کار کردم.

اونجا برای اینکه کاربر بعد از کلیک روی یک متنی به صفحه دیگری بره از Response.redirect استفاده میکنیم

اما توی فرم وقتی من یک link label اضاف میکنم اصلا دستوری واسه اینکه کاربر بعد از کلیک روی اون به صفحه دیگه ای بره نمیبینم .

WHAT can i do ?

arash ghafori
سه شنبه 16 خرداد 1391, 16:48 عصر
منظورتون اینه ک با کلیک روی لینک یه فرم دیگه باز بشه ، توی رویداد کلیک لینک لیبل بنویسید :


Form1 a = new Form1();
a.show();
یا حتی یه تابع یا هر چیز دیگه رو هم میشه باهاش فراخوانی کرد .

elham1611
سه شنبه 16 خرداد 1391, 17:05 عصر
ممنون ولی خطا میده
من میخوام مثلا form 2 که قبلا درست کردن باز بشه و form1 دیگه نباشه

درست مثل اینکه وقتی توی اینترنت روی یک لینک کلیک میکنیم

kaboudjameh
سه شنبه 16 خرداد 1391, 17:28 عصر
شما نمی تونید این کار رو انجام بدید. چون پنجره ای که جدید باز میشه در واقع Child پنجره فراخوانده شده است. شما نهایت امر می تونید قبل از فراخوانی پنجره جدید قبلی رو invisible کنید.
Form2 f2 = new Form2();
this.Visible = false;
f2.Show();

این کد یک مشکل بزرگ داره، اونم اینه که با بستن فرم دوم برنامه شما بسته نمیشه و باید برای بستن برنامه خودتون اقدام به بستن اون بکنید.
برای اینکار formClosed این کد رو بنویسید
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}

elham1611
سه شنبه 16 خرداد 1391, 17:35 عصر
درست شد ممنون.:لبخندساده:

arash ghafori
سه شنبه 16 خرداد 1391, 17:48 عصر
خوب شما 3 تا کار میتونید انجام بدید :

1) بیاید بعد از Show کردن فرم مورد نظر ، فرم قبلی رو Hiden کنید.
2) بیاید Visible فرم اول رو False کنید.
3) اصلا میتونید بعد از باز کردن فرم دوم ، اگه با فرم اول دیگه کاری نداشتید ،اون رو Close کنید.

برای دست رسی به این مشخصات (Hiden,Visible,close) باید از فرمتون یه شئ (a) بسازید.