PDA

View Full Version : سوال: نمایش یک فرم فقط برای بار اول اجرای برنامه



ehsan7007
جمعه 20 مرداد 1391, 13:24 عصر
سلام دوستان ، نماز روزه هاتون قبول.


من می خوام یک فرم (مثلا فرم 2) ،فقط برای باراولی که برنامه اجرا میشه به نمایش در بیاد ، باید چیکار کنم؟
منظورم برای تعیین پسورد هستش ، که وقتی کاربر برنامه رو نصب و اجرا کرد فرم 2 لود بشه و پسورد رو از کاربر بگیره و اونرو تو رجیستری ذخیره کنه . اما دفعه ی بعدی که برنامه اجراشد دیگه این فرم اجرانشه.

با تشکر از دوستان.

nunegandom
جمعه 20 مرداد 1391, 13:32 عصر
سلام، خوب موقع اجرا برنامه چک کنه که تویه رجیستری کلید فلان هست یا خیر! اگه نیست و مقدارش صحیح نیست درخواست رمز کنه!

ehsan7007
جمعه 20 مرداد 1391, 13:39 عصر
ممنون ولی اگر کاربر برنامه رو پاک کرد و دروباره بعد از یه مدتی نصبش کرد چی؟

the king
جمعه 20 مرداد 1391, 13:44 عصر
سلام دوستان ، نماز روزه هاتون قبول.


من می خوام یک فرم (مثلا فرم 2) ،فقط برای باراولی که برنامه اجرا میشه به نمایش در بیاد ، باید چیکار کنم؟
منظورم برای تعیین پسورد هستش ، که وقتی کاربر برنامه رو نصب و اجرا کرد فرم 2 لود بشه و پسورد رو از کاربر بگیره و اونرو تو رجیستری ذخیره کنه . اما دفعه ی بعدی که برنامه اجراشد دیگه این فرم اجرانشه.

با تشکر از دوستان.

در منوی Project ویژوال استدیو روی گزینه ...project name} Properties} کلیک کنید و بخش Settings رو انتخاب کنید.
یک اسم متغیری به عنوان نام Setting بنویسید، فرضا Checked و نوع Type اش رو bool قرار دهید. الان این متغیر می تونه مشخص کنه
که بار اولی است که پروژه اجرا میشه یا نه. کد فرمی که ابتدای برنامه فراخوانی میشه رو باز کنید، چیزی شبیه به اینه :

public Form1()
{
InitializeComponent();
}


اینطوری برایش شرط قرار دهید که اگه دفعه اوله فرم Form2 رو نشون بده :

public Form1()
{
if (Properties.Settings.Default.Checked == false)
{
Form2 f2 = new Form2();
f2.ShowDialog(this);
f2.Dispose();
}
InitializeComponent();
}


و اینطوری در فرم Form2 تان فرضا برای یک دکمه OK شرط بگذارید که وقتی رمز عبور و نام کاربری درست بود اون Checked رو True کنه
تا دفعه بعدی در کار نباشه :

Properties.Settings.Default.Checked = true;
Properties.Settings.Default.Save();

jan_kocholo
شنبه 06 اردیبهشت 1393, 03:31 صبح
در منوی Project ویژوال استدیو روی گزینه ...project name} Properties} کلیک کنید و بخش Settings رو انتخاب کنید.
یک اسم متغیری به عنوان نام Setting بنویسید، فرضا Checked و نوع Type اش رو bool قرار دهید. الان این متغیر می تونه مشخص کنه
که بار اولی است که پروژه اجرا میشه یا نه. کد فرمی که ابتدای برنامه فراخوانی میشه رو باز کنید، چیزی شبیه به اینه :

public Form1()
{
InitializeComponent();
}


اینطوری برایش شرط قرار دهید که اگه دفعه اوله فرم Form2 رو نشون بده :

public Form1()
{
if (Properties.Settings.Default.Checked == false)
{
Form2 f2 = new Form2();
f2.ShowDialog(this);
f2.Dispose();
}
InitializeComponent();
}


و اینطوری در فرم Form2 تان فرضا برای یک دکمه OK شرط بگذارید که وقتی رمز عبور و نام کاربری درست بود اون Checked رو True کنه
تا دفعه بعدی در کار نباشه :

Properties.Settings.Default.Checked = true;
Properties.Settings.Default.Save();

سپاس از کدتون
من از این روش استفاده کردم، ولی وقتی فرم دومم میاد، با اینکه StartPosition فرم دومم رو CenterScreen قرار دادم، ولی وسط مانیتور نیست. البته فقط واسه باره اول اینجوره. ولی بعدش درست میشه...
ممنون میشم راهنماییم کنید که چیکارش کنم فرم دومم وسط مانیتور باشه