PDA

View Full Version : بستن پنجره در سی شارپ



jeniferxp
جمعه 12 تیر 1388, 17:53 عصر
با سلام خدمت دوستان
من دوتا فرم دارم در برنامه ای که با سی شارپ نوشتم یک فرم ورود به سیستم (login)که بازدن نام کاربری و پسورد وارد فرم ورود اطلاعات می شم ولی مشکلی که هست من در فرمlogin یک شی ء از فرم loginتعریف کردم ویک شی ء هم از فرم اصلی (فرم ورود اطلاعات) با کد نمایش فرم ورود اطلاعات مشکلی ندارم ولی زمانی که می خوام کاربر نام کاربری وپسورد را وارد کرد ودرست بود پنجره loginبسته بشه وفقط پنجره ورود اطلاعات باشه هر کاری می کنم پنجره loginبسته نمی شه فکر کنم پون برنامه از فرم login اجرا شده امکان بستن این پنجره نیست از دوستان می خوام من را راهنمایی کنند آیا باید این پنجره باز بمونه چون فرم ورود اطلاعات شی ء اش از این فرم ایجا شده


;()login l1 = new login
;()Form1 f1 = new Form1
f1.show
l1.hide یا ;()l1.close

ولی نه باhide بسته میشه پنجره login ونه با close.اگر امکان داره بگین چه کدی باید جایگزین کنم

vandermond
جمعه 12 تیر 1388, 18:08 عصر
شما ديگه نبايد login جديد تعريف كنيد. چون برنامه با login باز ميشه خودش يكي از اون رو ميسازه و شما وقتي ميخوايد اونو ببنديد قبلش يك فرم ديگه از نوع login درست ميكنيد و وقتي اوليه رو ميبنديد، دومي ميمونه. اگه لطف كنيد و بگيد كه اطلاعاتي (يوزر و پسورد) كه وارد كرديد بعد از اينكه اين دستور جرا ميشه ميمونه يا از بين ميره ميشه گفت مشكل از اينجا هست يا نه.
ولي مشكل همينه لطفا امتحان كنيد...

mahdi_7610
جمعه 12 تیر 1388, 20:38 عصر
شما نباید توی فرم logon دوباره logon جدید تعریف کنید

در ضمن شما نمیتونید فرم logon را close کنید . چون با خارج کردن فرم اول از حافظه برنامه خاتمه خواهد یافت .



Form1 f1 = new Form1();
f1.Show();
this.Hide();


موفق باشید

ابوالفضل عباسی
یک شنبه 23 شهریور 1393, 15:37 عصر
عالی بود روش جالبی است

arashsoft
یک شنبه 23 شهریور 1393, 15:40 عصر
شما که نباید توی فرمlogon یک logon جدید تعریف کنید با از همان استفاده کنید
درضمن کد اجرا می شود اما logon جدید بسته می شود نه logon قدیم

Mojtaba0
یک شنبه 23 شهریور 1393, 17:26 عصر
دستورات hide فرم اول را قبل از دستورات show فرم دوم بذارین.(ضمنا از فرم اول new نگیرین که دوستان گفتن)

محمد آشتیانی
یک شنبه 23 شهریور 1393, 22:27 عصر
سلام
دوست عزیز پست شماره ۳ این تاپیک مشکل بستن فرم ها رو حل میکنه
http://barnamenevis.org/showthread.php?463596-تغییر-فرم-اصلی-برنامه&p=2075995#post2075995


Hide کردن فرم ها پاک کردن صورت مسئله هست و غیر اصولی



موفق باشید

safir_na
شنبه 14 آذر 1394, 14:52 عصر
پنهان کردن فرم اصلی همون طورکه دوستمون گفتن زیاد جالب نیست..
شما میتونین واسه برنامه ایی که میخایین اول از شما یورز و پسورد بخواد بعد بره فرم اصلی..از این راه استفاده کنید
این کد مربوط به program.cs هست..فقط باید اسم فرم هاشو تغییر بدید..
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
FrmMain mainForm = new FrmMain();
FrmUsername us = new FrmUsername();
if (us.ShowDialog() != DialogResult.OK)
return;
Application.Run(mainForm);
}


اینم مربوط به دکمه ی تایید فرم یوزرنیم است..

private void btm_Enter_Click(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("select count(*) from Tbl_Username where Username='" + txt_Username.Text + "' and Password='" + txt_Password.Text + "'", _sqlcon);
_sqlcon.Open();
int count = 0;
count = (int)cmd.ExecuteScalar();
if (count > 0)
{
DialogResult = System.Windows.Forms.DialogResult.OK;
}
else
{
DialogResult = System.Windows.Forms.DialogResult.None;
MessageBox.Show("کدکاربری یا رمزعبور اشتباه است", "ورود", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
}

_sqlcon.Close();
}

دستورات نیاز به توضیح نداره و کاملا واضحه..ولی اگه دوستان سوالی داشتن بپرسن..جواب میدم..
اینجا اول چون دیالوگ فراخوانی میشه اول منتظر جواب دیالوگ که از فرم یوزرنیم میاد میشه..در صورتی که مشخصات توی فرم یوزرنیم درست باشه دیالوگ OK میده که ادامه ی کار انجام میشه و در صورتی که فرم یوزرنیم NONE رو برگردونه..هیج اتفاقی نمیوفته و اررور مربوط به خودش رو نمایش میده..

محمد رضا فاتحی
شنبه 14 آذر 1394, 15:43 عصر
دوست گرامی...تاریخ تاپیک؟!!!

ژیار رحیمی
شنبه 14 آذر 1394, 18:26 عصر
سلام به این شیوه هم میتوان نوشت

private void FrmMainMenu_Load(object sender, EventArgs e)
{
var frm = new FrmLogin();
if(frm.ShowDialog()== DialogResult.Cancel)
Application.Exit();
//ادامه کد نویسی ...
}


در فرم لاگین بعد از چک کردن نام کاربری و پسورد کافیست

DialogResult= DialogResult.OK;