• مقدمه

در بخش قبلی توانستیم که توسط یک Open File Dialog، عکسی را فرخوانی کنیم و آن را در فرم خود قرار دهیم. البته این کار توسط کاربر انجام می‌شد؛ ونه خود برنامه‌نویس (که ما باشیم!)

اما این تنها کار نیست؛ ما می‌توانیم توسط همین Open File Dialog، فایل‌های دیگه‌ای را باز و فراخوانی کنیم. این‌بار قصد داریم که این کار را توسط یک فایل متنی انجام دهیم. مسائل ریزی در آن وجود دارد که دانستن آن‌ها بد نیست.

  • فراخوانی یک فایل متنی توسط Open File Dialog

احتمالاً یادتان نرفته است که چطور و با چه دستوری می‌توانستیم برای فرمت فایل‌هایی که Open File Dialog اجازه باز کردن آن‌ها را دارد، محدودیت تعیین کنیم. در بخش ۲۹ ما فقط برای عکس این محدودیت را قائل شدیم؛ این‌بار برای متن خواهد بود!

اینبار، نوع دیگری را از Text Box ها را اضافه خواهیم کرد –با نام Rich Text Box. این شیء این قابلیت را به ما خواهد داد که مستقیماً متن داخل یک فایل TXT را وارد Rich Text Box کنیم. پس برگردیم به منوی ToolBox و یک شیء از Rich Text Box در فرم خود قرار دهید.

1-richTextBox

شما احتمالاً باید سایز فرم خود را کمی تغییر دهید تا علاوه بر ابزارهای موجود از قبل، ابزار فعلی خود را نیز جا دهید. در هر حال، فرم شما باید شکلی شبیه به شکل زیر را داشته باشد:

2-Form_RichTB

Box (که پایین‌ترین Text Box موجود در فرم فوق می‌باشد) خیلی شبیه به جعبه‌متن معمولی می‌باشد؛ اما کارهای بیشتری را نسبت به آن‌ها می‌توانید انجام دهید. یکی از متدهای موجود در Rich Text Box، متد LoadFile() می‌باشد که ما توسط آن فایل متن خود را فراخوانی خواهیم کرد.

حال که Rich Text Box را اضافه کردید و فرم شما به شکل زیر است، کدهای مربوط به گزینه Open از منوی File فرم خود را آماده کنید:

3-File_Open_ofd

ما می‌توانیم کدهای قبلی‌ای که در بخش ۲۹ نوشتیم را اینجا هم اضافه کنیم؛ پس می‌نویسیم:

string Chosen_File = “”;

openFD.InitialDirectory = “C:”;

openFD.Title = “Open a Text File”;

openFD.FileName = “”;

تنها چیزی که نسبت به کدهای بخش ۲۹ تغییر کرده، عنوان پنجره دیالوگ می‌باشد. برای ادامه کار، می‌بایست که فیلترگذاری انواع فایل‌های قابلیت باز شدن در این دیالوگ را مشخص کنیم. پس برای خط بعدی کد خود، یک خط زیر را اضافه می‌کنیم:

openFD.Filter = “Text Files|*.txt|Word Documents|*.doc”;

ابزار Rich Text Box هم می‌تواند فایل‌های .txt را باز کند و هم فایل‌های Microsoft Word.

قدم بعدی، نمایش دیالوگ باز کردن فایل است؛ کاری را که در بخش ۲۹ انجام دادیم را تکرار می‌کنیم:

if (openFD.ShowDialog() != DialogResult.Cancel)

{

            Chosen_File = openFD.FileName;

            richTextBox1.LoadFile(Chosen_File, RichTextBoxStreamType.Plain Text);

}

اگرچه تقریباً کدهای بالا، همانند کدهای قبل می‌باشد، اما باید به خط آخر کد کمی دقت کنید؛ چرا که تفاوتی را دارد که احتمالاً شما با آن آشنایی ندارید. (فعلاً نیازی برای دانستن وجود ندارد)

برنامه خود را اجرا کنید و نتیجه را امتحا کنید. در بخش بعدی آموزش، نحوه ایجاد یک Save As Dialog را آموزش خواهیم داد که چگونه می‌توانید پس فراخوانی یک متن و اعمال تغییرات بر روی آن، آن را ذخیره‌سازی کنید!

جهت دریافت این بخش آموزشی به‌صورت یک فایل PDF، اینجا را کلیک کنید.

نظرات کاربران
اشتراک در
اطلاع از
26 نظرات
فکرآفرین
13 سال قبل

با تشکر

alireza
13 سال قبل

خسته نباشی
با اینکه سرت شلوغه ولی بازم وقت میزاری
پیش بینی میکنی چند جلسه آموزش داشته باشیم؟
به شی گرایی کی میرسیم؟/

alu
13 سال قبل

پس نسخه pff کو

Reza
13 سال قبل

منم درکت میکنم ولی خوب چون من خیلی انتظار می کشم برای جلسه بعدی برام سخته دیگه. شما فکر نکن درکت نمی کنم. انشاالله اون جاهایی که لازم شد از آموزش های خودت استفاده کنی تاثیری تو زمان قرار دادن آموزشهات نداشته باشه.
بازم تشکر

mohammad
13 سال قبل

سلام دوست عزيز اميدوارم كه روزگار بر وفق مرادتان باشد

ممكنه سوالم كمي بچگانه باشد

اما امروز كه اين مطالب رو ديدم كننجكاو شدم بدونم ايا با پيگيري و تمرين درسهايي كه حضرتعالي در اينجا مي گذاريد ايا مي شود برنامه نويس شد يا نه در ضمن خواهشي هم داشتم اينكه اگر مي شه مراجع و كتابهايي رو (ترجيحا” PDF و با زبان فارسي ) معرفي كنيد
مجددا از حضرتعالي و ساير همكارانتان تشكر مي كنم
موفق و مويد باشيد

amir
13 سال قبل

salam khoda ghovat
dadash mishe dar morede stimol reaporter ha ya cyristal reaporter ham tozih bedi?

علیرضا
13 سال قبل

سلام واقعا خسته نباشی
میشه خواهش کنم مرجع سایت انگلیسی رو هم بذاری
در ضمن یه سوال داشتم وقتی من یک ورد را باز می کنم متن درهمی رو نشون میده من حتی یک متن انگلیسی رو هم باز کردم ولی همین مشکل را داشت میشه بگی اشکال از کجاست.

علیرضا
13 سال قبل

سلام
ورد من 2003 است.با txt مشکلی نداشت فقط ی را علامت سوال می زد

علیرضا
13 سال قبل

با سلام و خسته نباشید
خواستم از شما خواهش کنم سرعت فرستادن مطالب را بیشتر کنید.البته میدونم سرتون شلوغه ولی اگر میتونید مطالب را زود به زود بذارید واقعا به خاطر مطالب مفیدتون ممنون

mahan
13 سال قبل

با عرض سلام.
مطالبتون واقعا خیلی خوبن من که واقعا استفاده کردم.
ممنون.
یه سوالم درباره این دو تا پست داشتم.
چرا توی پست 29و30 برای افزودن تصویر یا یک متن وقتی به یه جا وارد میشی که اون عکسا یا یه متنی هست اصلا نشونشون نمیده و خودم باید اسمشو بزنم تا بیاد؟

ali
پاسخ به  mahan
13 سال قبل

شاید چون برای Open file dialog تو قسمت filter نوع فایل هاتو مشخص نکردی

ali
13 سال قبل

سلام.
خسته نباشی.
میشه کد مربوط به وارد کردن متن فارسی رو تو rich text box بگی. چون متن فارسی رو ناخوانا میآره.
ممنون از راهنمایی که خواهی کرد.

lvlaria
13 سال قبل

ممنون از شما و مطالب ارزشمندتون .خدا قوت

سمانه
13 سال قبل

سلام دوست عزیز
از وقتی این سایت و دیدم کلا نظرم در رابطه با c# تغییر کرده ، خیلی خیلی بهش علاقه مند شدم و اینو به خاطر زحمتای زیاد شما که در این راستا کشیدید می دونم .ممنون
راستی منم وقتی یه فایل txt یا docx میارم کلا در richtextbox فونتش بهم میریزه.اگه راهنماییم کنید ممنون میشم.

n.m
12 سال قبل

سلام آقای موسوی..
سایت عالی دارید..من بار اوله که سایتتون رو دیدم و خیلی خوشم اومد..منم با اینکه دانشجوی نرم هستم ولی اطلاعاتم کمه..
موفق باشید..

hossin
11 سال قبل

با سلام
خسته نباشید واقعا دوست عزیز
وختی کد این صفحه رو در ریچ تکست باکس میزنم فایلهای ورد باز میشن اما خراب و داغون
راهنمایی بکنید تشکر

مرتضی
9 سال قبل

سلام من هم مشکل دوستان دیگه رو دارم فایل نوت پد مشکل نداره ولی ورد رو حتی اگه کاملا متن لاتین هم داشته باشه به هم ریخته نشون میده. ورد من هم ۲۰۱۰ هست. میشه راهنمایی کنید؟؟