PDA

View Full Version : سوال: چرا فرم با فراخوانی متود Close بسته نمی شود؟



saed2006
پنج شنبه 30 اردیبهشت 1389, 09:16 صبح
this.Close();
اجرا میشه ولی فرم بسته نمیشه

ehsan248
پنج شنبه 30 اردیبهشت 1389, 09:18 صبح
سلام بایستی حتما کدتون رو بزارید بعد میشه بحث کرد روش !!!

saed2006
پنج شنبه 30 اردیبهشت 1389, 09:24 صبح
private void toolStripButton22_Click(object sender, EventArgs e)
{
this.Close();
}

M.YasPro
پنج شنبه 30 اردیبهشت 1389, 09:34 صبح
سلام
این ایونت برای toolStripButton22 در نظر گرفته شده ؟

saed2006
پنج شنبه 30 اردیبهشت 1389, 09:36 صبح
سلام
این ایونت برای toolStripButton22 در نظر گرفته شده ؟

کاربر باید بتونه با زدن toolStripButton22 فرم رو ببنده
دکمه بالای فرم برای بستن ان هم هست
که هیچ کدوم کار نمیکنن

M.YasPro
پنج شنبه 30 اردیبهشت 1389, 09:44 صبح
توی رویداد formClosing یا formClosed چیزی ننوشتی؟

saed2006
پنج شنبه 30 اردیبهشت 1389, 09:52 صبح
توی رویداد formClosing یا formClosed چیزی ننوشتی؟

چیزی ننوشتم

cardano7
پنج شنبه 30 اردیبهشت 1389, 11:37 صبح
کاربر باید بتونه با زدن toolStripButton22 فرم رو ببنده
دکمه بالای فرم برای بستن ان هم هست
که هیچ کدوم کار نمیکنن

اشتباها تابعی با نام Close تعریف نکردید؟
برنامه را Trace کنید ببینید این کدی که برای Close کردن نوشتید واقعا اجرا میشه یا نه؟
همچنین قسمت Main برنامه را هم چک کنید. ممکنه اون بخش ایراد اساسی داشته باشه.

دیگه مغزم بیشتر از این قد نمیده!

saed2006
پنج شنبه 30 اردیبهشت 1389, 12:17 عصر
اشتباها تابعی با نام Close تعریف نکردید؟
برنامه را Trace کنید ببینید این کدی که برای Close کردن نوشتید واقعا اجرا میشه یا نه؟
همچنین قسمت Main برنامه را هم چک کنید. ممکنه اون بخش ایراد اساسی داشته باشه.

دیگه مغزم بیشتر از این قد نمیده!

Trace کردم اجرا میشه بسته نمیشه

saed2006
پنج شنبه 30 اردیبهشت 1389, 13:53 عصر
هیچ دستور دیگه ای برای بستن فرم نداریم؟

hadisadaghatmehr
جمعه 31 اردیبهشت 1389, 00:29 صبح
دوست عزیر
یه پروژه دیگه تو C# باز کن و دستور Close رو اونجا امتحان کنین اگه تونستی جواب بگیری مشکل از پروژت می تونه باشه
یا یه کار دیگه بکن فایل exe برنامتو پاک کن و دوباره پروژه تو rebuild کن شاید درست بشه

cardano7
جمعه 31 اردیبهشت 1389, 08:52 صبح
سلام
من میگم یک کپی از برنامه بگیر و در اون کپی شروع کن به یکی یکی حذف کدهات از برنامه. ببین کجا درست میشه.
آخر سر میشه فهمید اصلا ایراد از توابعی هست که نوشتی یا کلا ساختار فایلت ایراد داره.

اَرژنگ
جمعه 31 اردیبهشت 1389, 09:23 صبح
هیچ دستور دیگه ای برای بستن فرم نداریم؟
پروژه را بفرستید ببینیم چونکه چنین چیزی واقعاً دیدنیه.

wolf_majid
جمعه 31 اردیبهشت 1389, 09:53 صبح
در صورتی که بخوای کل پروژت را ببندی :


Application.Exit();
ولی مشکل برنامت را پیدا کنی بهتره

saed2006
جمعه 31 اردیبهشت 1389, 17:08 عصر
کد های پروژه خیلی زیاد هست و خاص نمیتونم بزارم اینجا
ولی از روی رفتار برنامه فهمیدم وقتی دکمه X زده میشه دیگه فرم بسته نمیشه

Netsky
جمعه 31 اردیبهشت 1389, 18:09 عصر
هیچ دستور دیگه ای برای بستن فرم نداریم؟
سلام .
با اين كد هم امتحان كنيد ببينيد نميشه :


Environment.Exit(0);
موفق باشيد ......

اَرژنگ
شنبه 01 خرداد 1389, 00:58 صبح
کد های پروژه خیلی زیاد هست و خاص نمیتونم بزارم اینجا
ولی از روی رفتار برنامه فهمیدم وقتی دکمه X زده میشه دیگه فرم بسته نمیشه

با چه کدی فرم را باز میکنید و نشان میدید؟
فایلهایه مربوط به همان فرم را را فقط بفرستید.

saed2006
شنبه 01 خرداد 1389, 10:04 صبح
فرم با showdialog نمایش داده شده است
بعد از پایان کار با این فرم برنامه یک متغیر استاتیک را مقدار دهی میکند و پس از بازگشت در فرم فرا خوانده استفاده میشود

اَرژنگ
شنبه 01 خرداد 1389, 10:34 صبح
فرم با showdialog نمایش داده شده است
بعد از پایان کار با این فرم برنامه یک متغیر استاتیک را مقدار دهی میکند و پس از بازگشت در فرم فرا خوانده استفاده میشود



public partial class Form2 : DevComponents.DotNetBar.Office2007Form


فایلهایه مربوط به فرم
DevComponents.DotNetBar.Office2007Form
را بفرستید

saed2006
شنبه 01 خرداد 1389, 10:44 صبح
DevComponents.DotNetBar.Office2007Form کامپونت هست
فایل چی رو بفرستم؟ کامپونتو؟

اَرژنگ
شنبه 01 خرداد 1389, 10:58 صبح
DevComponents.DotNetBar.Office2007Form کامپونت هست
فایل چی رو بفرستم؟ کامپونتو؟
بله،
چونکه فرمتان ازش ارث برده پس دلیل اینکه متد کلوز کار نمیکنه برمیگرده به اینکه از کی ارث برده.

FastCode
شنبه 01 خرداد 1389, 10:59 صبح
علت بسته نشدن رخ دادن یه exception در یک کنترل غیر استاندارد در فرمتونه.
من هم قبلا" به تعداد نجومی با این مشکل مواجه شدم.

M.YasPro
شنبه 01 خرداد 1389, 11:00 صبح
نه این نمیتونه دلیلش باشه چون من هم از این کامپوننت فرم هامو ارث بری می کنم و این مشکل رو ندارم .

اَرژنگ
شنبه 01 خرداد 1389, 11:08 صبح
نه این نمیتونه دلیلش باشه چون من هم از این کامپوننت فرم هامو ارث بری می کنم و این مشکل رو ندارم .

بنابراین تنها چیزی که میماند همانی است که ایشان گفتند:


سلام
من میگم یک کپی از برنامه بگیر و در اون کپی شروع کن به یکی یکی حذف کدهات از برنامه. ببین کجا درست میشه.
آخر سر میشه فهمید اصلا ایراد از توابعی هست که نوشتی یا کلا ساختار فایلت ایراد داره.

اَرژنگ
شنبه 01 خرداد 1389, 11:18 صبح
علت بسته نشدن رخ دادن یه exception در یک کنترل غیر استاندارد در فرمتونه.
من هم قبلا" به تعداد نجومی با این مشکل مواجه شدم.
بنابر این بای امتحانی یکی یکی کنترلهایه رویه فرم را وردارند تا زمانی که کار کند.
حالا اگر فقط فرم را باز میکنند میتونند ببندند؟
بدونه اینکه هیچ کدی که خودشان اضافه کردن اجر بشه فرمش بازهم بسته نمیشه؟

saed2006
شنبه 01 خرداد 1389, 11:18 صبح
من اصلا این کامپونت رو هم برداشتم باز هم همین مشکل ادامه دارد/

اَرژنگ
شنبه 01 خرداد 1389, 11:29 صبح
من اصلا این کامپونت رو هم برداشتم باز هم همین مشکل ادامه دارد/
یک پروژه با یک فرم که این مشکل را نشان بده بفرستید، اگر درست برنامه نویسی شده باشد میتوانید از پروژه (هر چقدر بزرگ هم که باشد) یک کپی بگیرید، همه چی را به جز اون فرم دیلیت کنید و بفرستید.

یا هم اینکه هامنطوری که گفته شد تمام فایلهایه مربوط به اون فرم را فقط بفرستید.

saed2006
شنبه 01 خرداد 1389, 11:34 صبح
متغیر استاتیک رو هم حذف کردم
حل نشد/

saed2006
شنبه 01 خرداد 1389, 11:35 صبح
مدل نمایش فرم رو نمیتونم تغییر بدم حتما باید از نوع showdialog باشد

اَرژنگ
شنبه 01 خرداد 1389, 11:40 صبح
یک پروژه با یک فرم که این مشکل را نشان بده بفرستید، اگر درست برنامه نویسی شده باشد میتوانید از پروژه (هر چقدر بزرگ هم که باشد) یک کپی بگیرید، همه چی را به جز اون فرم دیلیت کنید و بفرستید.

یا هم اینکه هامنطوری که گفته شد تمام فایلهایه مربوط به اون فرم را فقط بفرستید.

saed2006
شنبه 01 خرداد 1389, 11:44 صبح
نمیتونم بفرستم پروژه مشتری هست و در ضمن حجمش بالا هست
اخه چجوری میشه this.close کار نمیکنه؟

اَرژنگ
شنبه 01 خرداد 1389, 11:50 صبح
نمیتونم بفرستم پروژه مشتری هست و در ضمن حجمش بالا هست
اخه چجوری میشه this.close کار نمیکنه؟
۱.گفتید که فرمتان دیگر از اون کمپوننت ارث نمیبره.
۲.نمیتونید همه کنترلها را پاک کنید و فقط یک پروژه با یک فرم خالی که هیچ کنترلی روش نیست را بفرستید؟ اگر نمیشه که یک پروژه با یک فرم داشت که ببینیم چی هست که بسته نمیشه با علم غیب فقط میتونیم کمک کنیم.

در زمان دیباگ بر رویه this هاور کنید، ببینید جنس this چیه ؟

بدانه اینکه هیچ کدی اجرا بشد بازهم بسته نمیشه؟ یا اینکه بکگراند ورکر را را میندازید و نمیتوانید ببندینش؟

saed2006
شنبه 01 خرداد 1389, 13:38 عصر
درست شد/
دلیل مشکل:
کامپونتی که استفاده کرده بودم یک دستور ارسال میکرد و منتظر میماند نا کاربر اینتر بزنه
تا وقتی که این کار توسط کاربر انجام نمیشد از بستن فرم جلوگیری میکرد
تشکر از تمام کسانی که واسه حل این مشکل پست زدن

cardano7
شنبه 01 خرداد 1389, 17:10 عصر
درست شد/
دلیل مشکل:
کامپونتی که استفاده کرده بودم یک دستور ارسال میکرد و منتظر میماند نا کاربر اینتر بزنه
تا وقتی که این کار توسط کاربر انجام نمیشد از بستن فرم جلوگیری میکرد
تشکر از تمام کسانی که واسه حل این مشکل پست زدن

حالا من یک سوال دارم.
یک کامپوننت به چه روشی می تونه از بسته شدن یک فرم جلوگیری کنه؟ یعنی در رویداد Close دست می بره؟

farhadkhalili
شنبه 01 خرداد 1389, 17:49 عصر
Application.Exit() رو امتحان کن

saed2006
شنبه 01 خرداد 1389, 18:20 عصر
حالا من یک سوال دارم.
یک کامپوننت به چه روشی می تونه از بسته شدن یک فرم جلوگیری کنه؟ یعنی در رویداد Close دست می بره؟
به عنوان مثال اگه یه حلقه انتظار ایجاد کنی و برنامه رو داخل اون انتظار ببری فرمت بسته نمیشه