C#中RichTextBox中文字的上标或下标表示设定


下面介绍一下在RichTextBox设定上标和下标的SelectionCharOffset属性。SelectionCharOffset属性是以字符串表示正常基准线为准, 进行画素的设定。想表示为上标时设定为正数,想表示下标时设定为负数。

下面的例子「H2O(注1)」就是通过设定画素而生成的。

 

[C#]

//RichTextBox清空 richTextBox1.Clear();
//字母"H"是通常设定 richTextBox1.SelectedText = "H";
//数字"2"设定为基准线下5画素
richTextBox1.SelectionCharOffset = -5;
richTextBox1.SelectedText = "2";
//字母"O"也是通常设定
richTextBox1.SelectionCharOffset = 0;
richTextBox1.SelectedText = "O";
//"(注1)"设定为基准线上5画素
richTextBox1.SelectionCharOffset = 5;
richTextBox1.SelectedText = "(注1)";
//字母"O"也是通常设定
richTextBox1.SelectionCharOffset = 0;
 

[VB]

在RichTextBox 控 件 中 实 现 上、 下 标 形 式
---- VB 提 供 了 一 个 优 秀 的 控 件RichTextBox, 我 们 可 以 在 其 中 实 现 文 本 的 各 种 编 辑 方 式。 下 面 的 程 序 是 在RichTextBox 控 件 中 实 现 上 标 和 下 标 的 形 式, 主 要 是 使 作 为 上、 下 标 的 字 符 的 尺 寸 小 一 些, 位 置 在 基 线 上 下 浮 动。 程 序 利 用 属 性SelCharOffset, 由 它 确 定RichTextBox 控 件 中 的 文 本 是 出 现 在 基 线 上( 正 常 状 态), 当SelCharOffset >0 时, 文 本 出 现 在 基 线 之 上, 成 为 上 标 形 式;
---- 当SelCharOffset< 0 时, 文 本 出 现 在 基 线 之 下, 成 为 下 标 形 式。

---- 该 属 性 在 设 计 时 无 效。

---- 在 表 单 的Load 事 件 中 添 加 以 下 代 码:

Private Sub Form_Load()
RichTextBox1.Font.Name = "Times New Roman"
RichTextBox1.Font.Size = 10
RichTextBox1.Text = "H2SO4"
注释: Move the numbers down 2 points.
OffsetRichText RichTextBox1, 1, 1, 2
OffsetRichText RichTextBox1, 4, 1, -2
End Sub

Private Sub OffsetRichText(box As RichTextBox, start As Integer, length As Integer, offset As Integer)
注释:box指RichTextBox控件;start指作为上下标的
注释:字符的起始位置;length指上下标字符的长度;
注释:offset指上标还是下标,大于0上标;小于0下标。
box.SelStart = start
box.SelLength = length
box.SelFontSize = box.Font.Size -abs(offset)
box.SelCharOffset = ScaleY(offset,vbPoints, vbTwips)
box.SelStart = 0
box.SelLength = 0
End Sub
该程序在VB4/32和VB5上调试通过。最后在RichTextBox
控件中字符串的形式为:H2SO4. 
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值