PDA

View Full Version : مبتدی: ذخیره کردن روی همان فایل + پیغام ذخیره کردن قرم های تغییر کرده مانند ویژوال استادیو (C#)



sedaybaran2000
چهارشنبه 09 مرداد 1392, 14:27 عصر
با سلام
یه برنامه نت پد به صورت MDI نوشتم و توی اون میتونه چندین نت پد باز شه به صورت فرزند.

سوال : برنامه ویژوال استادیو(سی شارپ) رو وقتی چند تا فرم باز کنید و ذخیره رو نزنید ، موقع CLOSE برنامه یه پیغام میاد که یه سری فایل ها ذخیره نشدن و اسم اون فرم ها رو هم مینویسه و میخواد که ذخیره کنید حالا سوال من اینه من چند تا فرزند باز کردم تو نت پدم وقتی Parent رو میبندم می خوام یه سوال بپرسه که مثلاً فلان فرم ها رو ذخیره نکردی مثل ویژوال استادیو.


چطور می تونم این کار رو انجام بدم مرسی
با تشکر

amir200h
پنج شنبه 24 مرداد 1392, 13:17 عصر
دوست من به انتهای نام فرم های فرزند یه * اضافه کن. و وقتی روی ذخیره کلیک کردی اون ستاره رو خذف کن. و وقتی خواستی برنامه رو ببندی چک کن ببین اون ستاره وجود داره یا نه. اگه ستاره وجود داشت یعنی ذخیره نشده و پیغام ذخیره کردن رو بدین اگرم نداشت یعنی قبلا ذخیره کردی

مهرداد صفا
پنج شنبه 24 مرداد 1392, 13:55 عصر
با سلام.
دقیقا کجا مشکل دارید؟
پیغام هنگام رویداد Close؟
تشخیص اینکه فایل باز بع از آخرین تغییرات ذخیره شده یا نه؟
دسترسی به اجزای فرمها برای ذخیره؟
نحوه ذخیره کردن؟
لطفا بیشتر توضیح بدهید.

mehdi.mousavi
پنج شنبه 24 مرداد 1392, 14:14 عصر
با سلام یه برنامه نت پد به صورت MDI نوشتم و توی اون میتونه چندین نت پد باز شه به صورت فرزند. سوال : برنامه ویژوال استادیو(سی شارپ) رو وقتی چند تا فرم باز کنید و ذخیره رو نزنید ، موقع CLOSE برنامه یه پیغام میاد که یه سری فایل ها ذخیره نشدن و اسم اون فرم ها رو هم مینویسه و میخواد که ذخیره کنید حالا سوال من اینه من چند تا فرزند باز کردم تو نت پدم وقتی Parent رو میبندم می خوام یه سوال بپرسه که مثلاً فلان فرم ها رو ذخیره نکردی مثل ویژوال استادیو. چطور می تونم این کار رو انجام بدم مرسی با تشکر

سلام.
یکی از روش های موجود برای "انجام صحیح اینکار"، استفاده از مدلی موسوم به Office Automation Model هستش؛
همون مدلی که برنامه های Office از اون بهره میبرن. لطفا به دو مقاله ای که در این تاپیک (http://barnamenevis.org/showthread.php?133035-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%D9%81%D8%B1%D9%85-%D8%AC%D8%A7%D8%B1%DB%8C) به اونها اشاره کرده ام
رجوع کنید تا با چند و چون این کار (بدین روش) آشنا بشید.

موفق باشید.

sedaybaran2000
یک شنبه 27 مرداد 1392, 13:59 عصر
سلام دوستان
ببینید من وقتی یه فرزند(نت پد) باز میکنم
اگه تغییر ندم میتونم راحت ببندمش
اما اگه تغییر بدم باید تو TEXT اون فرزند یه * اضافه شه دقیقاً عین محیط ویژوال استادیو
و اگه چندین فرزند باز کردم که چند تاشون رو مورد تغییر قرار دادم موقع Close فرم پدر یه پیغام بیاد که اون چند تا رو عوض کردی نیاز به تغییر داره save میکنی یا نه؟
اگه بگم .save میکنم کل فرزند هایی که تغییر دادم save شن اگه نه که کلا بسته میشه.
دقیقاً مثل خود ویژوال استادیو
با تشکر

sedaybaran2000
یک شنبه 27 مرداد 1392, 14:00 عصر
خوندم اما خیلی مبتدی هستم شرمنده نفهمیدمش

سلام.
یکی از روش های موجود برای "انجام صحیح اینکار"، استفاده از مدلی موسوم به Office Automation Model هستش؛
همون مدلی که برنامه های Office از اون بهره میبرن. لطفا به دو مقاله ای که در این تاپیک (http://barnamenevis.org/showthread.php?133035-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%D9%81%D8%B1%D9%85-%D8%AC%D8%A7%D8%B1%DB%8C) به اونها اشاره کرده ام
رجوع کنید تا با چند و چون این کار (بدین روش) آشنا بشید.

موفق باشید.

sedaybaran2000
یک شنبه 27 مرداد 1392, 14:03 عصر
دوست من به انتهای نام فرم های فرزند یه * اضافه کن. و وقتی روی ذخیره کلیک کردی اون ستاره رو خذف کن. و وقتی خواستی برنامه رو ببندی چک کن ببین اون ستاره وجود داره یا نه. اگه ستاره وجود داشت یعنی ذخیره نشده و پیغام ذخیره کردن رو بدین اگرم نداشت یعنی قبلا ذخیره کردی

اضافه کردن اون * رو موافقم اما وقتی رویداد text_Changed فراخوانی میشه(یعنی اگه تغییر دادم اون * بیاد
اما چطور اون تیکه کد رو بنویسم؟
و چطور موقع بستن فرم پدر بفهمم چه فرم هایی اون * رو دارن؟ و چطور بگم اونایی که * دارن ذخیره بشن؟
کد بهم بده لطفاً