• تغییر استایل لاین اول RichTextBox
    #1
    Note 
    از زبان c#.net برای ساخت برنامه نوت پد استفاده کردم این برنامه شبیه به word هست تقریباً تمام امکانات قابل استفاده نوشته ام ،ولی مشکل اساسی این نیست.
    مشکل من تیتر وپاراگراف هست که باید بطور خودکار بعد از اینتر زدن و رفتن به خط بعد خود برنامه نوع خط بالا که نوشته شده را تشخیص دهد که این کلمات نوشته شده عنوان است(بصورت توپر یا ضخیم عنوان را نمایش دهد) یا پاراگراف (اندازه فونت مثلا 13 و نوع فونت نازنین باشد) است ،هموطنان عزیزم میخوام به من کمک کنند!!!
    یه دنیا ازشون ممنون میشم تا عمر دارم براشون دعا میکنم


    پاسخ
    #2
    Note 
    [CSHARP]
    private void Capitalize_Bold_FirstLine(object sender, EventArgs e)
    {
    RichTextBox box = sender as RichTextBox;
    if (box != null && box.Text != "")
    {
    // get the current selection text of the textbox
    int ss = box.SelectionStart;
    int sl = box.SelectionLength;
    // get the position where the first line ends
    int firstLineEnd = box.Text.IndexOf('\n');
    if (firstLineEnd < 0)
    firstLineEnd = box.Text.Length;

    // split the lines
    string[] lines = box.Text.Split('\n');
    // capitalize the first line
    lines[0] = lines[0].ToUpper();
    // join them back and set the new text
    box.Text = String.Join("\n", lines);
    // select the first line and make it bold
    box.SelectionStart = 0;
    box.SelectionLength = firstLineEnd;
    box.SelectionFont = new Font(box.Font, FontStyle.Bold);
    // select the rest and make it regular
    box.SelectionStart = firstLineEnd;
    box.SelectionLength = box.Text.Length - firstLineEnd;
    box.SelectionFont = new Font(box.Font, FontStyle.Regular);
    // go back to what the user had selected
    box.SelectionStart = ss;
    box.SelectionLength = sl;
    }
    }

    private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter)
    {
    richTextBox1.TextChanged += Capitalize_Bold_FirstLine;
    }
    }[/CSHARP]

    پاسخ
    #3
    Note 
    MeeGo عزیز خیلی ممنون
    میشه برنامه نوت پد با همین دستور بنویسی آپلود کنی؟؟؟؟؟؟

    پاسخ
    #4
    Note 
    کد کامل:

    [CSHARP]
    using System;
    using System.Drawing;
    using System.Windows.Forms;

    namespace RTBFL
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void Capitalize_Bold_FirstLine(object sender, EventArgs e)
    {
    RichTextBox box = sender as RichTextBox;
    if (box != null && box.Text != "")
    {
    // get the current selection text of the textbox
    int ss = box.SelectionStart;
    int sl = box.SelectionLength;
    // get the position where the first line ends
    int firstLineEnd = box.Text.IndexOf('\n');
    if (firstLineEnd < 0)
    firstLineEnd = box.Text.Length;
    // split the lines
    string[] lines = box.Text.Split('\n');
    // capitalize the first line
    lines[0] = lines[0].ToUpper();
    // join them back and set the new text
    box.Text = String.Join("\n", lines);
    // select the first line and make it bold
    box.SelectionStart = 0;
    box.SelectionLength = firstLineEnd;
    box.SelectionFont = new Font(box.Font, FontStyle.Bold);
    // select the rest and make it regular
    box.SelectionStart = firstLineEnd;
    box.SelectionLength = box.Text.Length - firstLineEnd;
    box.SelectionFont = new Font(box.Font, FontStyle.Regular);
    // go back to what the user had selected
    box.SelectionStart = ss;
    box.SelectionLength = sl;
    }
    }

    private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter)
    {
    Capitalize_Bold_FirstLine(richTextBox1, e);
    }
    }
    }
    }

    [/CSHARP]

    پاسخ
    #5
    Note 
    MeeGo نوشته است:کد کامل:

    [CSHARP]
    using System;
    using System.Drawing;
    using System.Windows.Forms;

    namespace RTBFL
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void Capitalize_Bold_FirstLine(object sender, EventArgs e)
    {
    RichTextBox box = sender as RichTextBox;
    if (box != null && box.Text != "")
    {
    // get the current selection text of the textbox
    int ss = box.SelectionStart;
    int sl = box.SelectionLength;
    // get the position where the first line ends
    int firstLineEnd = box.Text.IndexOf('\n');
    if (firstLineEnd < 0)
    firstLineEnd = box.Text.Length;
    // split the lines
    string[] lines = box.Text.Split('\n');
    // capitalize the first line
    lines[0] = lines[0].ToUpper();
    // join them back and set the new text
    box.Text = String.Join("\n", lines);
    // select the first line and make it bold
    box.SelectionStart = 0;
    box.SelectionLength = firstLineEnd;
    box.SelectionFont = new Font(box.Font, FontStyle.Bold);
    // select the rest and make it regular
    box.SelectionStart = firstLineEnd;
    box.SelectionLength = box.Text.Length - firstLineEnd;
    box.SelectionFont = new Font(box.Font, FontStyle.Regular);
    // go back to what the user had selected
    box.SelectionStart = ss;
    box.SelectionLength = sl;
    }
    }

    private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter)
    {
    Capitalize_Bold_FirstLine(richTextBox1, e);
    }
    }
    }
    }

    [/CSHARP]

    کد بالا رو به برنامه اضافه کردم
    ولی خط اول ما bold نمیشه و همنطور پارگراف ،مشکل از کجاست؟؟

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    موضوعات مرتبط با این موضوع...
    موضوع نویسنده پاسخ بازدید آخرین ارسال
    Note جستجو در یک متن در سی شارپ arfanz 12 2,993 16-07-2014 ساعت 09:32
    آخرین ارسال: Stack OverFlow
    Note تغییر دایرکتوری reference The Arrow 1 489 02-05-2014 ساعت 08:28
    آخرین ارسال: Daniel
    Note دسترسی به هاست و تغییر یک فایل The Arrow 4 807 12-02-2014 ساعت 15:53
    آخرین ارسال: xMAN
    Note جستجو در متن The Arrow 0 464 08-01-2014 ساعت 18:53
    آخرین ارسال: The Arrow
    Note تغییر زبان پیشفرض ویندوز xMAN 0 419 10-12-2013 ساعت 19:28
    آخرین ارسال: xMAN
    Note سوال در مورد ساخت UserControl برای تغییر شکل فرم در سی شارپ The Arrow 5 1,293 22-09-2013 ساعت 10:07
    آخرین ارسال: SOFTAFZAR
    Note سوال : مبنای تغییر ورژن یک برنامه یا یک کتابخانه در چیست؟ The Arrow 1 523 16-09-2013 ساعت 13:25
    آخرین ارسال: SAMAN ELITE
    Note سوال : جستجوی یک کلمه در متن در سی شارپ The Arrow 1 777 16-06-2013 ساعت 20:03
    آخرین ارسال: ScarFace
    Note سوال : استفاده API های گوگل در جستجو در بقیه سایت - سی شارپ The Arrow 5 1,234 15-06-2013 ساعت 21:26
    آخرین ارسال: The Arrow
    Note سوال : نشان دادن عکس به جای متن در RichTextBox در سی شارپ The Arrow 5 967 14-05-2013 ساعت 19:12
    آخرین ارسال: SOFTAFZAR

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان