首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

RichTextBox控件解决方案

2012-02-01 
RichTextBox控件做了一个软件,涉及到模板的问题,在模板内容里,我用{}来标记选择项,比如:重庆,又名{山城}{、

RichTextBox控件
做了一个软件,涉及到模板的问题,在模板内容里,我用{}来标记选择项,比如:重庆,又名{山城}{、}{雾都}。
  最开始我用LABEL控件数组来存放这些文字,如用将“重庆,又名”存放在label1(0)中,将“山城”存放在label1(1)中,将“、”存放在label1(2)中,将“雾都”存放在label1(3)中,将“。”存放在label1(4)中。{}里的文本内容和外面的文本内容用颜色区分开来,单击{}里的任何位置时,{}里的文本选中。但是这样做,会涉及到用户删除模板中的文本内容时不是很方便,用户添加文本时,又要去移动每个Label控件。
  于是,想到用RichTextBox控件。我用一个二维数组来存放{}里文本内容的selStart以及{}里文本的长度。不过在单击使{}里的文本颜色变化之前,如果用户对文本进行了编辑(添加、删除、剪切、粘贴等),那么二维数组里存放的selStart就相应的应该改变,那么我怎么去获取用户编辑时添加、删除、剪切、粘贴的文本的文本长度?
  还有我想让用户在{}里不能进行文本编辑功能,这个该怎么做呢?
  如果RichTextBox控件不能达到这些功能,那么我该怎么去实现上面所说的功能呢。

[解决办法]
不用去获取用户编辑时添加、删除、剪切、粘贴的文本的文本长度,在richtextbox控件里用标记符号比如{}将你的选择项标记,然后richtextbox控件里的文本每次发生改变时就去搜索标记符号{},再将标记符号里的内容赋以颜色或将其内的背景色赋颜色即可

热点排行