2012-05-14 18 views
13

私はname.ForeColor = Color.Red;すべてのテキストの色を変更すると、2行のテキストボックスにテキストを表示する必要があります。そのため、リッチテキストボックス多色テキストボックスC#

+2

WinFormsまたはWPF? – Tudor

+0

私はwinformを使用します。 – Wizard

+0

@Tudor ForeColorはWindowsフォームのプロパティです – animaonline

答えて

15

もっと読むネイサンBaulch

public static class RichTextBoxExtensions 
{ 
    public static void AppendText(this RichTextBox box, string text, Color color) 
    { 
     box.SelectionStart = box.TextLength; 
     box.SelectionLength = 0; 

     box.SelectionColor = color; 
     box.AppendText(text); 
     box.SelectionColor = box.ForeColor; 
    } 
} 

によって拡張メソッドです。

テキストを選択して選択色やフォントを変更することで、テキストカラーを変更できます。

richTextBox1.SelectionFont = new Font("Verdana", 12, FontStyle.Bold); 
richTextBox1.SelectionColor = Color.Red; 
36

使用することは、ここにあなたがRichTextBoxを使用する必要がhere

+0

どのようにテキストボックスを使って行うのですか? – Wizard

+0

wf TextBoxでそれを行う方法はありません。独自のUserControlを作成するか、RichTextBoxを使用する必要があります。 – animaonline

+0

私は今あなたのコードを研究しています。 'var userid =" USER0001 "; var message = "アクセスが拒否されました"; varボックス=新しいリッチテキストボックス { Dock = DockStyle.Fill、 フォント=新しいフォント( "Courier New"、10) }; box.AppendText( "[" + DateTime.Now.ToShortTimeString()+ "]"、Color.Red); box.AppendText( ""); box.AppendText(userid、Color.Green); box.AppendText( ":"); box.AppendText(message、Color.Blue); box.AppendText(Environment.NewLine); 新しいフォーム{Controls = {box}}。ShowDialog(); 'RichTextBoxは新しいフォームではありません。 – Wizard

0

まず第一に、あなたが提供する詳細+タグが十分でない - C#は1つの特定のUIフレームワークを持っていない、それはいくつかあります:WPF、Winformsの、ASP.NET、Silverlightの。

第2に、上記のいずれの場合でも、通常のテキストボックスコントロールではこれを行うことができません。 異なる動作を持つカスタムUIコントロールを検索/作成するか、より高度なコントロールを使用する必要があります。リッチテキストボックス。

1

ここでは、FontdialogとColordialogの例を示します。

void TextfarbeToolStripMenuItemClick(object sender, EventArgs e) 
     { 
      colorDialog1.ShowDialog(); 
      richTextBox1.ForeColor = colorDialog1.Color; 
      listBox1.ForeColor = colorDialog1.Color; 
     } 

     void FontsToolStripMenuItemClick(object sender, EventArgs e) 
     { 
      fontDialog1.ShowDialog(); 
      richTextBox1.Font = fontDialog1.Font; 
      listBox1.Font = fontDialog1.Font; 
     } 

     void HintergrundfarbeToolStripMenuItemClick(object sender, EventArgs e) 
     { 
      colorDialog1.ShowDialog(); 
      richTextBox1.BackColor = colorDialog1.Color; 
      listBox1.BackColor = colorDialog1.Color; 
     } 
関連する問題