RichTextBox控件用法

在C#winForm程序中。我想做一个日记本程序。想到需要图文混合排版。有谁有过相关实例?需要用RichTextBox这个控件。有谁能告诉我这个控件怎么用吗?... 在C# winForm程序中。我想做一个日记本程序。想到需要图文混合排版。有谁有过相关实例?需要用RichTextBox这个控件。有谁能告诉我这个控件怎么用吗? 展开
 我来答
匿名用户
推荐于2018-03-19
展开全部
//取消或置为粗体
private void button2_Click(object sender, System.EventArgs e)
{
Font oldFont = this.richTextBox1.SelectionFont;
Font newFont;
if (oldFont.Bold)
newFont = new Font(oldFont,oldFont.Style & ~FontStyle.Bold);
else
newFont = new Font(oldFont,oldFont.Style | FontStyle.Bold);
this.richTextBox1.SelectionFont = newFont;
this.richTextBox1.Focus();
}
//取消或置为斜体
private void button7_Click(object sender, System.EventArgs e)
{
Font oldFont = this.richTextBox1.SelectionFont;
Font newFont;
if (oldFont.Italic)
newFont = new Font(oldFont,oldFont.Style & ~FontStyle.Italic);
else
newFont = new Font(oldFont,oldFont.Style | FontStyle.Italic);
this.richTextBox1.SelectionFont = newFont;
this.richTextBox1.Focus();
}
//取消或加上下划线
private void button8_Click(object sender, System.EventArgs e)
{
Font oldFont = this.richTextBox1.SelectionFont;
Font newFont;
if (oldFont.Underline)
newFont = new Font(oldFont,oldFont.Style & ~FontStyle.Underline);
else
newFont = new Font(oldFont,oldFont.Style | FontStyle.Underline);
this.richTextBox1.SelectionFont = newFont;
this.richTextBox1
.Focus();
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-21
展开全部
它是一个富态文本

能支持文本中字体、颜色

我以有用过

因为我之前有做过模仿金山打字通的打字程序

不过那是在学校的事了

都好久没用这个了

具体用法可以查看帮助

很容易用的

关键是程序逻辑思维 这才是重要的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-21
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-07-21
展开全部
  Windows 窗体 RichTextBox 控件用于显示、输入和操作带有格式的文本。
  RichTextBox 控件除了执行 TextBox 控件的所有功能之外,它还可以显示字体、颜色和链接,从文件加载文本和嵌入的图像,撤消和重复编辑操作以及查找指定的字符。
  与字处理应用程序(如 Microsoft Word)类似,RichTextBox 通常用于提供文本操作和显示功能。 与 TextBox 控件一样,RichTextBox 控件也可以显示滚动条;但与 TextBox 控件不同的是,默认情况下,该控件将同时显示水平滚动条和垂直滚动条,并具有更多的滚动条设置。  
  使用示例如下:
  创建一个 RichTextBox 控件,该控件将 RTF 文件加载到控件中并搜索单词“Text”的第一个实例。然后代码更改选定文本的字体样式、字体大小和字体颜色并将更改保存到原始文件。在代码示例的最后,将该控件添加到其 Form 中。
  本示例要求1:将代码示例中创建的方法添加到 Form 类中并从窗体的构造函数调用此方法。
  本示例要求2:在 C 驱动器的根目录中创建一个包含单词“Text”的 RTF 文件。
  Demo

  public void CreateMyRichTextBox()
  {
  RichTextBox richTextBox1 = new RichTextBox();
  richTextBox1.Dock = DockStyle.Fill;

  richTextBox1.LoadFile("C:\\MyDocument.rtf");
  richTextBox1.Find("Text", RichTextBoxFinds.MatchCase);

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

  richTextBox1.SaveFile("C:\\MyDocument.rtf", RichTextBoxStreamType.RichText);

  this.Controls.Add(richTextBox1);
  }
  Demo

  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;

  namespace Win_Test
  {
  public partial class RichTextBox_Test : Form
  {
  public RichTextBox_Test()
  {
  InitializeComponent();
  }

  Font oldFont;
  Font newFont;

  //richTextBox1 所选文字加粗
  private void button1_Click(object sender, EventArgs e)
  {

  oldFont = this.richTextBox1.SelectionFont;
  if (oldFont.Bold)
  { newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold); }
  else
  newFont = new Font(oldFont, oldFont.Style | FontStyle.Bold);

  this.richTextBox1.SelectionFont = newFont;
  this.richTextBox1.Focus();

  }

  //richTextBox1 所选文字加下划线
  private void button2_Click(object sender, EventArgs e)
  {
  oldFont = this.richTextBox1.SelectionFont;
  if (oldFont.Underline)
  { newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Underline); }
  else
  newFont = new Font(oldFont, oldFont.Style | FontStyle.Underline);
  this.richTextBox1.SelectionFont = newFont;
  this.richTextBox1.Focus();

  }

  //richTextBox1 所选文字为斜体
  private void button3_Click(object sender, EventArgs e)
  {
  oldFont = this.richTextBox1.SelectionFont;
  if (oldFont.Italic)
  { newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Italic); }
  else

  newFont = new Font(oldFont, oldFont.Style | FontStyle.Italic);
  this.richTextBox1.SelectionFont = newFont;
  this.richTextBox1.Focus();
  }

  //richTextBox1 所选文字居中
  private void button4_Click(object sender, EventArgs e)
  {
  if (this.richTextBox1.SelectionAlignment == HorizontalAlignment.Center)
  this.richTextBox1.SelectionAlignment = HorizontalAlignment.Left;
  else
  this.richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
  this.richTextBox1.Focus();
  }

  // 在文本框输入字体大小
  private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
  {
  //remove all characters that are not numbers,backspace and enter
  if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13)
  { e.Handled = true; }
  else if (e.KeyChar == 13)
  {
  TextBox txt = (TextBox)sender;
  if (txt.Text.Length > 0)
  ApplyTextSize(txt.Text);
  e.Handled = true;
  this.richTextBox1.Focus();
  }
  }

  //根据textBox1的值设置richTextBox1的字体
  private void ApplyTextSize(string textSize)
  {
  float newSize = Convert.ToSingle(textSize);
  FontFamily currentFontFamily;
  Font newFont;
  currentFontFamily = this.richTextBox1.SelectionFont.FontFamily;
  newFont = new Font(currentFontFamily, newSize);
  this.richTextBox1.SelectionFont = newFont;
  }

  //在textBox1控件验证时触发,设置richTextBox1的字体
  private void textBox1_Validating(object sender, CancelEventArgs e)
  {
  TextBox txt = (TextBox)sender;
  ApplyTextSize(txt.Text);
  this.richTextBox1.Focus();
  }

  //让浏览器打开超链接地址
  private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
  {
  System.Diagnostics.Process.Start(e.LinkText);
  }

  //richTextBox1 加载 Test.rtf 文件
  private void button5_Click(object sender, EventArgs e)
  {
  try
  {
  richTextBox1.LoadFile("Test.rtf");
  }
  catch (System.IO.FileNotFoundException)
  {
  MessageBox.Show("No file to be load yet");
  }
  }

  //richTextBox1 保存到 Test.rtf 文件
  private void button6_Click(object sender, EventArgs e)
  {
  try
  {
  richTextBox1.SaveFile("Test.rtf");
  }
  catch (System.Exception err)
  {
  MessageBox.Show(err.Message);
  }
  }

  }
  }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式