tgoop.com/CsharpWindowsForm/272
Last Update:
السلام عليكم ورحمه الله
اليوم ان شاء سوف نكمل باقي بعض عمليات على مشروع محرر النصوص .
ما سوف نشرحه الان هو تكمله للعمليات الأساسية لمحرر النصوص
مثل اكواد FontStyle (غامق,مائل,مسطر,خط في المنتصف)
و اكواد محاذاة النص
سنحاول اليوم قدر المستطاع اختصار الموضوع هذا لكي (نقوم بشرح موضوع جديد اليوم إن شاء الله)
لنفرض ان لديك ازرار في الفورم تقوم بتغيير نمط النص
لكي تقوم بجعل النص الى غامق (Bold) عند النقر عليه
لنفرض انك قمت بعمل الكود التالي ماذا سيحدث؟
private void btnBold_Click(object sender, EventArgs e)
{
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);}
الكود السابق صحيح ولن تواجهك أي مشكلة او ظهور Error اثناء كتابتك الاكواد
ولاكن سوف تحدث مشكلة وهي انهو عندما تقوم بالكتابة في richtextBox ومن ثم تريد تغيير نمط النص ثم تقوم بالنقر على الزر سوف يتم تنفيذ العمليه بنجاح ويتغير نمط النص من normal الى Bold
لاحظ اين سوف تظهر المشكلة
الان انت تريد ان تجعل نمط نص الى normal وتنقر على الزر مرة أخرى لكي يتم تغييره لن يتم تغيير النص عندما تقوم بالضغط على زر Bold وذلك لان صيغه كتابة الكود السابق غير صحيحه للعمليه التي في برنامج الورد
مثلاً عند الضغط على الزر B في برنامج Word يتحول نمط النص الى غامق وعند الضغط عليه مرة أخرى يعود الى حالته الطبيعية normal
الكود التالي يقوم بالعملية بشكل صحيح
ملاحظة : في البرمجة يوجد اكثر من طريقة لحل مشكلة معينه ولا يجب عليك ان تقيد نفسك بكود وكانهوا قانون رياضي لا يصح حل المعادلة (العملية) الا به .
لاحظ كيف سوف نتطرق الى مثالين وكلاهما يقوما بنفس العملية
الكود الأول :
private void btnBold_Click(object sender, EventArgs e)
{
if (!(richTextBox1.SelectionFont == null))
{
Font currentFont = richTextBox1.SelectionFont;
FontStyle newFontStyle;
if (richTextBox1.SelectionFont.Bold == true)
{
newFontStyle = FontStyle.Regular;
}
else
{
newFontStyle = FontStyle.Bold;
}
richTextBox1.SelectionFont = new Font(currentFont.FontFamily, currentFont.Size, newFontStyle);
}
} }
لاحظ الكود الأول في كم اسطر برمجية قام بحل المشكلة
الكود الثاني :
private void btnBold_Click(object sender, EventArgs e)
{
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Bold);}
كلا الكودين السابقين يقوما بتغيير نمط النص الى Bold عند النقر عليه وعند النقر مرة أخرى يعود الى normal
كود عمل النص مائل italic
نفس الكود السابق فقط قم بتغيير Bold الى Italic
private void btnItalic_Click(object sender, EventArgs e)
{
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Italic);}
كود نص مسطر
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Underline);
كود خط على منتصف النص
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Strikeout);
محاذاة النص لليسار
private void btnAlignLeft_Click(object sender, EventArgs e)
{
richTextBox1.SelectionAlignment = HorizontalAlignment.Left;
}
كود محاذاة الى الوسط
private void btnAlignCenter_Click(object sender, EventArgs e)
{
richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
}
كود محاذاة الى اليمين
private void btnAlignRight_Click(object sender, EventArgs e)
{
richTextBox1.SelectionAlignment = HorizontalAlignment.Right;
}
.........................................................
انتهينا من عمليات محرر نصوص الأساسية والبسيطة
يوجد عمليات أخرى إحترافية لمحرر النصوص مثل
البحث عن كلمة في المستند مع إمكانية تغيير الكلمة في المستند كامل Replace
إمكانية اخذ لقطة للشاشة واضافتها للمستند
معرفه عدد الكلمات في المستند
طباعة المستند
إضافة جدول للمستند
يحتوي المحرر على صفحات عند كتابة مستند اي عندما توصل الى نهاية الصفحة يضيف صفحه جديده تلقائيا وتبدا تكتب فيها (مثل برنامج الورد)
BY برمجة تطبيقات الويندوز C# Programming
Share with your friend now:
tgoop.com/CsharpWindowsForm/272