C#问题 各位大哥大姐们请帮帮忙啊!!!!!!
左边Treeview 右边RichTextBox 点击左边的“鳃的构造”节点。右边文章中“鳃的构造”文字颜色变化,同时“鳃的构造”节点的子节点在右边文章中相应的文字颜色也发生变化。怎么实现?
要是在richtextbox中父节点箭头指向子节点 怎么实现?
追问:第一个对了。第二个就是那些加亮的关键字如果在treeview中是父节点和子节点的关系,那在richtextbox中用箭头从父节点(加亮的关键字)指向子节点(加亮的关键字)
左边Treeview 右边RichTextBox 点击左边的“鳃的构造”节点。右边文章中“鳃的构造”文字颜色变化,同时“鳃的构造”节点的子节点在右边文章中相应的文字颜色也发生变化。怎么实现?
要是在richtextbox中父节点箭头指向子节点 怎么实现?
追问:第一个对了。第二个就是那些加亮的关键字如果在treeview中是父节点和子节点的关系,那在richtextbox中用箭头从父节点(加亮的关键字)指向子节点(加亮的关键字)
答案:不是太明白你的意思。我说一下我的理解,你看对不对。右边的richtexbox的文章内容是一开始就打开的。左边的treeview类似于目录或者关键字的意思。当点击左边的treeview的节点的时候 文章内容里面的对应关键字就被加亮,同时如果当前的treeview的节点下面有子节点,那么文章里面的子节点内容也会被加亮。是这个意思吗?
要是在richtextbox中父节点箭头指向子节点 怎么实现? 这句话不是太理解什么 意思。richtexbox里面没有节点的概念。
你的TreeView的AfterSelect事件里面加入如下代码(注意你的控件的名称,这里是treeView1和richTextBox1):
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
string s = e.Node.Text;
int i = richTextBox1.Text.IndexOf(s);
while (i > -1)
{
richTextBox1.Select(i, s.Length);
richTextBox1.SelectionBackColor = Color.Red;
i = richTextBox1.Text.IndexOf(s, i + 1);
}foreach (TreeNode node in e.Node.Nodes)
{
s = node.Text;
i = richTextBox1.Text.IndexOf(s);
while (i > -1)
{
richTextBox1.Select(i, s.Length);
richTextBox1.SelectionBackColor = Color.Red;
i = richTextBox1.Text.IndexOf(s, i + 1);
}
}
}解决了你第一个问题,第二个还在调试中(需求有点怪)...
selectedindexchange 事件
再去读相应的内容