لطفا از تمام مطالب دیدن فرمایید.
فصل ششم: نمایش کادر های محاوره ای(کنترل Save File Dialog)
کنترل Save File Dialog
کنترل Save File Dialog کارکردی مشابه با کنترل Open File Dialog دارد، البته در جهت عکس. این کنترل به شما اجازه می دهد یک نام و آدرس را برای ذخیره یک فایل در دیسک از کاربر دریافت کنید. مجددا باید ذکر کنم که همانند کنترل Open File Dialog این کنترل نیز فایلی را در دیسک ذخیره نمی کند بلکه فقط یک رابط استاندارد را برای برنامه به وجود می آورد تا کاربر به وسیله آن بتواند مجلی را برای ذخیره اطلاعات مشخص می کند.
خاصیت های کنترل Save File Dialog
در جدول زیر لیستی از خصوصیت های کاربرد کنترل Save File Dialog به همراه کاربرد آن ها آورده شده است. همانطور که مشاهده می کنید این کنترل و یا این کلاس بسته به نوعی که از آن استفاده می کنید، خاصیت های زیادی دارد که می توان به وسیله آن ها، رفتار کنترل را در برنامه تغییر داد.
خاصیت:
Add Extension: مشخص می کند اگر کاربر پسوند فایل را تعیین نکرد، برنامه به طور اتوماتیک پسوند را به فایل اضافه کند.
Check File Exist: مشخص می کند اگر کاربر نام فایلی را مشخص کرد که در دیسک وجود داشت، پیغام هشداری نمایش داده شود یا نه؟
Check Path Exist: مشخص می کند اگر کاربر آدرس فایلی را مشخص کرد که در دیسک وجود نداشت پیام هشداری نمایش داده شود یا نه؟
Create Prompt: مشخص می کند اگر کاربر فایلی را مشخص کرد که در دیسک وجود نداشت، برای ایجاد آن فایل از کاربر سوال شود یا نه؟
Default Ext: پسوند پیش فرض را در این کادر مشخص می کند.
Dereference Links: مشخص می کند که اگر کاربر یک شروت کات را انتخاب کرد، آدرس فایل اصلی که شورت کات به آن اشاره می کند برگشته شود و یا آدرس خود فایل شورت کات به برنامه برگردد.
File Name: نام فایلی که در کادر توسط کاربر انتخاب شده است را بر می گرداند. این خاصیت که شامل یک آرایه رشته ای است نیز به صورت فقط خواندنی است.
File Names:نام فایلهایی که در کادر توسط کاربر انتخاب شده است را بر می گرداند. این خاصیت که شامل یک آرایه رشته ای است نیز به صورت فقط_خواندنی است.
Filter: این خاصیت حاوی رشته ای است که برای فیلتر کردن فایلهایی که در پنجره Save نمایش داده شوند به کار می رود. به وسیله این رشته می توانید، چندین گروه فیلتر را برای پنجره مشخص کنید تا در جعبه ترکیبی موجود در این پنجره نمایش داده شوند و کاربر بتواند یکی از آنها را انتخاب کند.
Filter Index: مشخص کننده اندیس فیلتری است که هم اکنون در کادر محاواره ای انتخاب شده است.
Initial Directory: مشخص کننده آدرس دایرکتوری است که باید در ابتدا، در پنجره Save نمایش داده شود.
Overwrite Prompt: مشخص می کند اگر کاربر خاست فایل را بر روی فایل دیگری ذخیره کند، پیغام هشدار به کاربر نمایش داده شود یا نه؟
Resotre Directory: تعیین می کند آیا کادر Save باید ادرس دایرکتوری را که قبل ار بسته شدن در آن قرار داشت برگرداند یا نه؟
Show Help: مشخص می کند که آیا دکمه Help نیز در پنجره Save نمایش داده شود یا نه؟
Title: مشخص کنند متنی است که در نوار عنوان پنجره Open نمایش داده می شود.
Validate Names: مشخص می کند که آیا پنجره فقط باید نام فایل های معتبر ویندوزی را قبول کند و یا هر نامی را بتواند دریافت کتد
متد های کنترل Save File Dialog:
متد های کنترل Save File Dialog همانند متد های کنترل Open File Dialog هستند. برای مطالعه متد های کنترل Open File Dialog می توانید به بخش قبلی مراجعه کنید. در تمام مثال های بعدی نیز همانند کنترل Open File Dialog از تابع Show Dialog برای نمایش کادر Save استفاده می کنیم.
استفاده ای کنترل Save File Dialog:
برای بررسی نحوه کار کرد کنترل Save File Dialog از پروژه Dialogs در قسمت قبلی استفاده می کنیم. در این قسمت می خواهیم برنامه را به صورتی تغییر دهیم که متن داخل TextBox را در فایلی ذخیره کند.
در این قسمت با استفاده از کنترل Save File Dialog پنجره Save File را به کاربر نمایش داده و به او اجازی می دهیم تا مکانی را برای ذخیره محتویات TextBox مشخص کند سپس محتویات داخل آن را در فایلی در مسیر مشخص شده توسط کاربر ذخیره می کنیم.
امتحان کنید: کار با کنترل Save File Dialog
-
برنامه Dialogs را که در قسمت قبل ایجاد کرده بودیم، مجددا باز کنید.
-
در فرم اصلی برنامه کنترل Button دیگری اضافه کرده وخاصیت های آن را برابر با لیست زیر قرار دهید.
خاصیت های کنترل را مانند زیر تنظیم کنید:
Name ==btnSave
Text ==Save
Anchor == Top,Right
Location == 367;38
-
در جعبه ابزار به قسمت Dialogs بروید و بر روی کنترل Save File Dialog دو بار کلیک کنید به این ترتیب یک کنترل Save File Dialog در قسمت پایین طراحی فرم قرار میگیرد
فصل ششم: نمایش کادر های محاوره ای(کنترل Save File Dialog)
کنترل Save File Dialog
کنترل Save File Dialog کارکردی مشابه با کنترل Open File Dialog دارد، البته در جهت عکس. این کنترل به شما اجازه می دهد یک نام و آدرس را برای ذخیره یک فایل در دیسک از کاربر دریافت کنید. مجددا باید ذکر کنم که همانند کنترل Open File Dialog این کنترل نیز فایلی را در دیسک ذخیره نمی کند بلکه فقط یک رابط استاندارد را برای برنامه به وجود می آورد تا کاربر به وسیله آن بتواند مجلی را برای ذخیره اطلاعات مشخص می کند.
خاصیت های کنترل Save File Dialog
در جدول زیر لیستی از خصوصیت های کاربرد کنترل Save File Dialog به همراه کاربرد آن ها آورده شده است. همانطور که مشاهده می کنید این کنترل و یا این کلاس بسته به نوعی که از آن استفاده می کنید، خاصیت های زیادی دارد که می توان به وسیله آن ها، رفتار کنترل را در برنامه تغییر داد.
خاصیت:
Add Extension: مشخص می کند اگر کاربر پسوند فایل را تعیین نکرد، برنامه به طور اتوماتیک پسوند را به فایل اضافه کند.
Check File Exist: مشخص می کند اگر کاربر نام فایلی را مشخص کرد که در دیسک وجود داشت، پیغام هشداری نمایش داده شود یا نه؟
Check Path Exist: مشخص می کند اگر کاربر آدرس فایلی را مشخص کرد که در دیسک وجود نداشت پیام هشداری نمایش داده شود یا نه؟
Create Prompt: مشخص می کند اگر کاربر فایلی را مشخص کرد که در دیسک وجود نداشت، برای ایجاد آن فایل از کاربر سوال شود یا نه؟
Default Ext: پسوند پیش فرض را در این کادر مشخص می کند.
Dereference Links: مشخص می کند که اگر کاربر یک شروت کات را انتخاب کرد، آدرس فایل اصلی که شورت کات به آن اشاره می کند برگشته شود و یا آدرس خود فایل شورت کات به برنامه برگردد.
File Name: نام فایلی که در کادر توسط کاربر انتخاب شده است را بر می گرداند. این خاصیت که شامل یک آرایه رشته ای است نیز به صورت فقط خواندنی است.
File Names:نام فایلهایی که در کادر توسط کاربر انتخاب شده است را بر می گرداند. این خاصیت که شامل یک آرایه رشته ای است نیز به صورت فقط_خواندنی است.
Filter: این خاصیت حاوی رشته ای است که برای فیلتر کردن فایلهایی که در پنجره Save نمایش داده شوند به کار می رود. به وسیله این رشته می توانید، چندین گروه فیلتر را برای پنجره مشخص کنید تا در جعبه ترکیبی موجود در این پنجره نمایش داده شوند و کاربر بتواند یکی از آنها را انتخاب کند.
Filter Index: مشخص کننده اندیس فیلتری است که هم اکنون در کادر محاواره ای انتخاب شده است.
Initial Directory: مشخص کننده آدرس دایرکتوری است که باید در ابتدا، در پنجره Save نمایش داده شود.
Overwrite Prompt: مشخص می کند اگر کاربر خاست فایل را بر روی فایل دیگری ذخیره کند، پیغام هشدار به کاربر نمایش داده شود یا نه؟
Resotre Directory: تعیین می کند آیا کادر Save باید ادرس دایرکتوری را که قبل ار بسته شدن در آن قرار داشت برگرداند یا نه؟
Show Help: مشخص می کند که آیا دکمه Help نیز در پنجره Save نمایش داده شود یا نه؟
Title: مشخص کنند متنی است که در نوار عنوان پنجره Open نمایش داده می شود.
Validate Names: مشخص می کند که آیا پنجره فقط باید نام فایل های معتبر ویندوزی را قبول کند و یا هر نامی را بتواند دریافت کتد
متد های کنترل Save File Dialog:
متد های کنترل Save File Dialog همانند متد های کنترل Open File Dialog هستند. برای مطالعه متد های کنترل Open File Dialog می توانید به بخش قبلی مراجعه کنید. در تمام مثال های بعدی نیز همانند کنترل Open File Dialog از تابع Show Dialog برای نمایش کادر Save استفاده می کنیم.
استفاده ای کنترل Save File Dialog:
برای بررسی نحوه کار کرد کنترل Save File Dialog از پروژه Dialogs در قسمت قبلی استفاده می کنیم. در این قسمت می خواهیم برنامه را به صورتی تغییر دهیم که متن داخل TextBox را در فایلی ذخیره کند.
در این قسمت با استفاده از کنترل Save File Dialog پنجره Save File را به کاربر نمایش داده و به او اجازی می دهیم تا مکانی را برای ذخیره محتویات TextBox مشخص کند سپس محتویات داخل آن را در فایلی در مسیر مشخص شده توسط کاربر ذخیره می کنیم.
امتحان کنید: کار با کنترل Save File Dialog
-
برنامه Dialogs را که در قسمت قبل ایجاد کرده بودیم، مجددا باز کنید.
-
در فرم اصلی برنامه کنترل Button دیگری اضافه کرده وخاصیت های آن را برابر با لیست زیر قرار دهید.
خاصیت های کنترل را مانند زیر تنظیم کنید:
Name ==btnSave
Text ==Save
Anchor == Top,Right
Location == 367;38
-
در جعبه ابزار به قسمت Dialogs بروید و بر روی کنترل Save File Dialog دو بار کلیک کنید به این ترتیب یک کنترل Save File Dialog در قسمت پایین طراحی فرم قرار میگیرد
-
بر روی دکمه btnSave روبار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود. سپس کد زیر را در آن متد وار کنید:
-
در این مرحله می توانید برنامه خود را تست کنید، بنابراین پروژه را اجرا کرده و متن ساده ای را داخل آن وارد کنید سپس بر روی دکمه ی Save کلیک کنید. مشاهده خواهید کرد که کادر محاواره ای Save نمایش داده خواهد شد.
-
نامی را برای فایل انتخاب کرده و بر روی دکمه OK کلیک کنید به این ترتیب متن داخل TextBox در فایلی با نام ومسیری که مشخص کرده بودید ذخیره می شود. برای امتحان این مورد می توانید با کلیک کردن بر روی دکمه Open فایل ایجاد شده را مجددا در برنامه باز کرده و مشاهده کنید.
-
برای تست عملکرد خاصیت Overwrite Prompt در کنترل Save File Dialog متن دیگری را در TextBox وارد کرده و بر روی دکمه Save کلیک کنید. مجددا مسیر و نام فایل قبلی را برای ذخیره فایل جدید وارد کنید. مشاهده خواهید کرد که پیغامی همانند شکل زیر نمایش داده می شود و می گوید که فایلی با این نام موجود است. آیا می خواهید آن را با این فایل تعویض کند؟ در صورتی که بر روی گزینه Yes کلیک کنید، فایل قبلی پاک می شود و فایل جدید به جای آن قرار می گیرداگر بر روی گزینه No کلیک کنید به کادر Save بر می گردید تا نام دیگری را برای فایل انتخاب کنید.

لینک دانلود پروژه:
چگونه کار می کند؟؟
فرض کنید کاربر هنگام ذخیره فایل نام test را بدون هیچ پسوندی وارد کرده و بر روی دکمه Save کلیک می کند. در این حالت پسوندی که در این خاصیت مشخص شده است به انتهای فایل اضافه شده و سپس فایل با نام test.txt در دیسک ذخیره می شود.
سپس خاصیت File Name از این کنترل را برابر با مقدار متغییر strFileName قرار می دهیم. هنگامی که یک فایل را با استفاده از دکمه Open باز کنید، نام آن در این متغییر ذخیره می شود. با قرار دادن این متغییر در خاصیت File Name کنترل Save File Dialog باعث می شویم که کاربر بدون وارد کردن نام فایل بتواند یک فایل را باز کرده، آن را ویرایش کند وسپس آن را ذخیره کند. البته کاربر می تواند با تغییر این نام در کادر Save نام جدیدی برای فایل انتخاب کند و یا فایل را در مسیر دیگری ذخیره کند.
در دو خط بعدی خاصیت Filter و FilterIndex کنترل را تنظیم می کنیم. به این ترتیب فایل های خاصی در کادر نمایش داده خواهند شد:
خاصیت Overwrite Prompt مقداری را از نوع Boolean قبول می کند. اگر مقدار این خاصیت را برابر با True قرار دهید، در صورتی که کاربر بخواهد فایلی را بر روی فایل دیگری ذخیره کند به او هشدار داده می شود. اگر مقدار این خاصیت برابر با False باشد، در صورت رخ دادن چنین مشکلی، بدون اینکه موردی به کاربر اطلاع داده شود فایل قبلی پاک می شود و فایل جدید بر روی آن ذخیره می شود.
در انتها نیز عنوان پنجره Save را تعیین می کنم تا با نام برنامه هماهنگ شود:
بعد از اینکه خاصیت های مختلف کادر Save را تنظیم کردیم با استفاده از شرط if مشخص می کنیم که کاربر بر روی دکمه Save کلیک کرده است یا بر روی دکمه Cancel. در این کنترل هم همانند کنترل Open File Dialog اگر کاربر بر روی دکمه Save کلیک کند DialogResult.OK و اگر کاربر بر روی Cancel کلیک کند مقدار DialogResult.Cancel برگشت داده می شود.
اگر کاربر گزینه Save را انتخاب کرده بود ابتدا باید نام فایل را در متغییر strFileName ذخیره کنیم. سپس مجددا از کلاس File برای ذخیره محتویات فرم، درون فایل استفاده می کنیم. اما در این قسمت باید از متد Write All Text در این کلاس استفاده کنیم. استفاده از این متد نیز به نمونه سازی از این کلاس نیازی ندارد. این متد آدرس یک فایل و یک متغییر رشته ای که حاوی محتویات فایل است را به عنوان ورودی دریافت کرده و آدرس تعیین شده فایلی را با محتوایی که به ان فرستاده شده است ایجاد می کند:
مبحث بعدی کنترل FontDialog
برچسبها:
تاريخ : یکشنبه 09 شهریور 1393 | 08:24 | نویسنده : کـــــوچـــــولـــــو |
ارسال نظر(0)
لطفا از دیگر مطالب نیز دیدن فرمایید













