RichTextBox的显示问题

whowhen21 2009-03-25 04:15:25
我是这个意思的:
我用一个TextBox输入文字,然后可以设置该TextBox的字体和颜色,然后我想通过一个按钮(Button)把TextBox中的文字
连同字体颜色都传送到本窗体的一个RichTextBox中。如何实现,请教了奥。

如果光把字传上去好说,我主要想要知道的就是如何连同字体,颜色都传上去,就是文字到了RichTextBox中还是那样的字体
那样的颜色。请教了,
...全文
162 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cja03 2009-03-25
  • 打赏
  • 举报
回复

public class RichText
{
public RichText(string Text)
:this(Text,12f,Color.Black)
{
}

public RichText(string Text, float Size, Color Color)
:this(Text,"宋体",Size,false,false,false,Color)
{
}

public RichText(string Text, string FontName, float Size, bool Bold, bool Italic, bool Underline, Color Color)
{
this.Text = Text;
this.Color = Color;
FontStyle style = FontStyle.Regular;
if (Bold)
style |= FontStyle.Bold;
if (Italic)
style |= FontStyle.Italic;
if (Underline)
style |= FontStyle.Underline;

this.Font = new Font(FontName, Size, style);
}

public string Text { get; set; }
public Font Font { get; set; }
public Color Color { get; set; }
}




public void AppentRichText(RichText RichText)
{
int start = this.richTextBox1.TextLength;
this.richTextBox1.AppendText(RichText.Text);
this.richTextBox1.SelectionStart = start;
this.richTextBox1.SelectionLength = RichText.Text.Length;
this.richTextBox1.SelectionFont = RichText.Font;
this.richTextBox1.SelectionColor = RichText.Color;
this.richTextBox1.SelectionStart = this.richTextBox1.TextLength;
}



private void Form1_Load(object sender, EventArgs e)
{
RichText mytext = new RichText("这是一个测试", 12f, Color.Red);
RichText mytext2 = new RichText("这是第二个测试", "楷体", 16f, false, true, false, Color.SteelBlue);

AppentRichText(mytext);
AppentRichText(mytext2);
}
fht123 2009-03-25
  • 打赏
  • 举报
回复
把文字传过的时侯,把字体,颜色也传过去.
eg.
RichTextBox.Font=TextBox.Font
mstchen88 2009-03-25
  • 打赏
  • 举报
回复
RichTextBox好像支持多种字体及颜色的,我还不知道的!不过你问问别人吧!ok
ztenv 2009-03-25
  • 打赏
  • 举报
回复
RichTextBox 控件提供许多可对控件内任何文本部分应用格式设置的属性。若要更改文本的格式设置,必须首先选定此文本。只能为选定的文本分配字符和段落格式设置。对选定的文本内容进行设置后,在选定内容后输入的所有文本也用相同的设置进行格式设置,直到更改设置或选定控件文档的不同部分为止。SelectionFont 属性使您得以将文本以粗体或斜体显示。还可以使用此属性更改文本的大小和字样。SelectionColor 属性使您得以更改文本的颜色。若要创建项目符号列表,可以使用 SelectionBullet 属性。还可以通过设置 SelectionIndent、SelectionRightIndent 和 SelectionHangingIndent 属性调整段落格式设置。

写得很详细,
(转自MSDN)
whowhen21 2009-03-25
  • 打赏
  • 举报
回复
帮帮我呀,给点参考的呀,谢谢了
ztenv 2009-03-25
  • 打赏
  • 举报
回复
RichTextBox好像支持多种字体及颜色的,只是你要指定哪一段文件(你可以把刚刚传过来的字串选中,然后再设置其字体)
具体使用看一看MSDN;
whowhen21 2009-03-25
  • 打赏
  • 举报
回复
请给我点参考好吗?
首先我想的不是一种字体,颜色,我可以随时改变TextBox的字体和颜色,而我的RichTextBox要累加我TextBox中
的内容,也就是我在TextBox中输入了文本:测试,然后字体是宋体,颜色是红色,我点击Button时候,要把宋体,红色
的测试两个字传到RichTextBox中,而且也是这个格式的,我再给TextBox重新设置字体和颜色,再输入文字,当点击
Button的时候,把现在输入的文字追加到RichTextBox中,上面的是上面的格式,我现在加的是现在的格式,互不相干的。

请教了,给点思路或者给点参考的。谢谢!
ztenv 2009-03-25
  • 打赏
  • 举报
回复
定义一个类,包含了你要传过去的文本和定义的Font;然后传给RichTextBox,显示文本并设置为Font;

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧