PDA

View Full Version : سوال: مشکل خروج از برنامه



amin_1
سه شنبه 20 مهر 1389, 20:45 عصر
با سلام
من هنوز یه آماتور برنامه نویسی هستم و سوال اینه .

تمرینی داشتم که باید یه word pad بنویسم

تقریبا کامله

اما مشکلم زمان خروج از برنامه است.

این هم کد خروج.
همونطور که می بینید از
event->form_closing
استفاده کردم.


//close & save
private void wwpad_FormClosing(object sender, FormClosingEventArgs e)
{

dial = MessageBox.Show("Do you want to save your file?", "Save File", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dial == DialogResult.Yes)
{
savefile();
txtboxL.Clear();
this.Close();
}
else if (dial == DialogResult.No)
this.Close();

else ;
}

خیلی ممنون.

mmd2009
سه شنبه 20 مهر 1389, 21:06 عصر
با سلام

از کد زیر استفاده بکنید



/// <summary>
/// پرسش از کاربر برای خروج از برنامه
/// </summary>

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(
MessageBox.Show
("ایا مایل به خروج هستید ؟","توجه", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== System.Windows.Forms.DialogResult.No)
e.Cancel = true;
}


موفق باشید

علیرضا حسن زاده
سه شنبه 20 مهر 1389, 21:06 عصر
مشکل چیه؟ خطا میده؟

Diaco.10727
سه شنبه 20 مهر 1389, 21:17 عصر
سلام دوست عزیز ، اصلاح شده کد خدتون رو براتون گذاشتم


private void wwpad_FormClosing(object sender, FormClosingEventArgs e)
{
dial = MessageBox.Show("Do you want to save your file?", "Save File",
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dial == DialogResult.Yes)
{
savefile();
}
}

وقتی فرم در حال بسته شدن هست دیگه نیازی به استفاده از this.Close نیست

amin_1
سه شنبه 20 مهر 1389, 22:38 عصر
مشکل چیه؟ خطا میده؟

معذرت

زمانی که دکمه No زده میشه msgbox توی حلقه لوپ میفته و بسته نمیشه تا زمانی که یا cancel یا yes زده بشه !

amin_1
سه شنبه 20 مهر 1389, 22:52 عصر
private void wwpad_FormClosing(object sender, FormClosingEventArgs e)
{

if (MessageBox.Show("Do you want to save your file?", "Save File", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Cancel)
e.Cancel = true;
else if (MessageBox.Show("Do you want to save your file?", "Save File", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
savefile();
{


**الان رو این حالت نوشتم واسه save کردن دوبار باید کلیک کرد.
cancel از خروج برنامه جلوگیری میکنه.(درست شد)
yes ابتدا ذخیره بعد خروج
no خروج بدون ذخیره کردن.

amin_1
سه شنبه 20 مهر 1389, 22:56 عصر
سلام دوست عزیز ، اصلاح شده کد خدتون رو براتون گذاشتم


private void wwpad_FormClosing(object sender, FormClosingEventArgs e)
{
dial = MessageBox.Show("Do you want to save your file?", "Save File",
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dial == DialogResult.Yes)
{
savefile();
}
}
وقتی فرم در حال بسته شدن هست دیگه نیازی به استفاده از this.Close نیست

این درسته

اما دکمه Cancel چی ؟؟
تو این حالت cancel هم که زده میشه برنامه بسته میشه .

mohsensaghafi
چهارشنبه 21 مهر 1389, 06:29 صبح
سلام دوست عزیز.
ای کد رو چک کن. مشکل cancel و پرسش دو مرتبه برای ذخیره کردن حل شده.
به شیوه نوشتن و ترتیب دستورات دقت کن.
اگر جواب دو سوال بالا رو نگرفتی بگو تا توضیح بدم

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result=MessageBox.Show("Do you want to save your file?", "Save File", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (result == System.Windows.Forms.DialogResult.Cancel)
e.Cancel = true;
else if (result == System.Windows.Forms.DialogResult.Yes)
SaveFile();

}

amin_1
پنج شنبه 29 مهر 1389, 19:41 عصر
سلام ممنون از همه . این مشکلم حل شد. اما

یه سوال دیگه
چطور میتونیم متن درون یه textbox رو چپ چین یا راست چین و bold و italic و underline کنیم؟
مثل office word .

من نتونستن کدشو بنویسم که جواب بده واسه همین کلا نمیدونم باید چی کارکنم.
ممنونم.

flash118
پنج شنبه 29 مهر 1389, 21:18 عصر
با سلام دوست عزیز اینم جواب سئوال آخریتون موفق باشید


textBox1.Font = new Font("Arial", 8.25f, FontStyle.Bold);
textBox1.RightToLeft=RightToLeft.Yes;

cardano7
جمعه 30 مهر 1389, 06:46 صبح
با سلام دوست عزیز اینم جواب سئوال آخریتون موفق باشید


textBox1.Font = new Font("Arial", 8.25f, FontStyle.Bold);
textBox1.RightToLeft=RightToLeft.Yes;


عذر می خواهم اگر روی حرف شما اساتید حرف میارم، اما احتمالا دوستمون داره با RichTextBox کار می کنه نه TextBox معمولی.

مطمئن نیستم اما این ممکنه کمک کنه:

RichTextBox1.SelectionAlignment = HorizontalAlignment.Right

amin_1
شنبه 01 آبان 1389, 15:48 عصر
سلام خیی ممنون از همگی
بله درسته من دارم با richtextbox کار میکنم و اشتباها textbox ذکر کردم.

اما خیلی ممنونم.