CSHARPWINDOWSFORM Telegram 272
السلام عليكم ورحمه الله

اليوم ان شاء سوف نكمل باقي بعض عمليات على مشروع محرر النصوص .
ما سوف نشرحه الان هو تكمله للعمليات الأساسية لمحرر النصوص
مثل اكواد 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
إمكانية اخذ لقطة للشاشة واضافتها للمستند
معرفه عدد الكلمات في المستند
طباعة المستند
إضافة جدول للمستند
يحتوي المحرر على صفحات عند كتابة مستند اي عندما توصل الى نهاية الصفحة يضيف صفحه جديده تلقائيا وتبدا تكتب فيها (مثل برنامج الورد)



tgoop.com/CsharpWindowsForm/272
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

Content is editable within two days of publishing Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” The public channel had more than 109,000 subscribers, Judge Hui said. Ng had the power to remove or amend the messages in the channel, but he “allowed them to exist.” How to create a business channel on Telegram? (Tutorial) The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday.
from us


Telegram برمجة تطبيقات الويندوز C# Programming
FROM American