因此,我正在创建一个程序,该程序在目录中显示文件,并且尝试获取它,因此,如果单击其中的一个项目,它将文件内容(以文本形式)加载到富文本框中。
numberedRTB1.RichTextBox.LoadFile(listBox1.SelectedItem.Name, RichTextBoxStreamType.RichText);
答案 0 :(得分:0)
如果您拥有文件的路径,则可以使用File类中的n
方法,简单地将文件文本加载到RichTextBox中
小例子
ReadAllText(string path)
答案 1 :(得分:0)
1)您没有真正提出问题。
2)您最有可能希望在列表中看到没有路径的名称,但是需要完整路径才能加载它们。
对于其他列表,例如ListView
,您可以使用该项目的Tag
,但是ListBox
包含string
或object
,但都没有Tag
属性。
因此,请使用两个字符串字段和一个class
方法创建一个ToString
。
现在,您会看到一个漂亮的名称,并且可以访问完整路径。
类的示例代码:
class ListItem
{
public string Name { get; set; }
public string FullPath { get; set; }
public ListItem(string filename, string fullpath )
{ Name = filename; FullPath = fullpath; }
public ListItem(FileInfo fileinfo )
{ Name = fileinfo.Name; FullPath = fileinfo.FullName; }
override public string ToString() { return Name; }
}
用于加载..:
FileInfo fi = new FileInfo("D:\\test.rtf");
// either..:
listBox1.Items.Add(new ListItem(fi.Name, fi.FullName));
// or :
listBox1.Items.Add((new ListItem(fi));
..并用于访问:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ListItem item = listBox1.SelectedItem as ListItem;
if (item != null)
{
if (File.Exists(item.FullPath) ) rtb.LoadFile(item.FullPath);
}
}