C#编程实现RichTextBox鼠标点击选择一行 下载本文

内容发布更新时间 : 2024/5/21 1:23:16星期一 下面是文章的全部内容请认真阅读。

前言

这是C#学习记录,基本材料来源于网络。

文件引入

using System.Xml; using System.Xml.Linq; using System.IO;

添加引用RICHTX32.OCX,文件位置在编程环境安装后的\\windows\\system32\\目录下。 using RichTextLib;

基本定义

RichTextBox控件:rTxtMenu Button控件:btnMenu

鼠标单击目录

private void rTxtMenu_Click(object sender, EventArgs e)//鼠标单击目录

{

//rTxtMenu.SelectionBackColor = Color.Red; //取得光标当前位置

int currentPos = rTxtMenu.SelectionStart; //取得当前行号

int row = rTxtMenu.GetLineFromCharIndex(currentPos); //取得全部文本 rTxtMenu.SelectAll();

string allStr = rTxtMenu.SelectedText; //替换间隔符

tempStr = allStr.Replace(\ tempStr = tempStr.Replace(\

//取得当前行

string[] strArr = tempStr.Split(\ int flag = 0;

string resultStr = \

foreach(string str in strArr)

{

if (flag == row) { resultStr = str; break; } flag++; }

//确定有效起始位置

currentPos = allStr.IndexOf(resultStr); rTxtMenu.Select(currentPos, resultStr.Length);

}

目录内容回显函数

public void readXML(ref string xmlFile)//目录内容回显 {

//清空显示框

rTxtMenu.Text = \ string temp = \

//定义XmlDocument

XmlDocument xmlDoc = new XmlDocument(); //xml文件载入

xmlDoc.Load(xmlFile);

//选择根节点

XmlNode xn = xmlDoc.SelectSingleNode(\文件管理\ //提取节点数组

XmlNodeList xnl = xn.ChildNodes; //遍历节点数组

foreach (XmlNode xnf in xnl) {

XmlElement xe = (XmlElement)xnf;

//为在文本框中显示文件做准备 //提取子节点数组

XmlNodeList xnf1 = xe.ChildNodes; //遍历子节点数组

foreach (XmlNode xn2 in xnf1) {

//显示子节点文本 temp += xn2.InnerText; }

//输出一个空行,显示格式需要 temp += \

}

//在文本框中文件显示 rTxtMenu.Text = temp;

}

调入目录

private void btnMenu_Click(object sender, EventArgs e)//调入目录 {

readXML(ref xmlFile); }

附件:目录.xml文件

<文件管理>

<目录 />

<目录 属性=\只读\

<一级目录>系统引用

<目录 属性=\只读\

<一级目录>全局变量定义

<目录 属性=\只读\

<一级目录>创建文件、添加基本数据

<目录 属性=\只读\

<一级目录>追加数据

<目录 属性=\只读\

<一级目录>变量置空

<目录 属性=\只读\

<一级目录>变量填充赋值

<目录 属性=\只读\

<一级目录>处方内容回显

<目录 属性=\只读\

<一级目录>更新数据

<目录 属性=\只读\

<一级目录>鼠标跟踪弹出菜单

<目录 属性=\只读\

<一级目录>动态创建单选按钮组

<目录 属性=\只读\

<一级目录>设计说明

<目录 属性=\只读\

<一级目录>按钮事件

<目录 属性=\只读\

<一级目录>动态生成3个单选按钮

<目录 属性=\只读\