Подскажите как можно реализовать отображение последних открытых файлов в RichTextBox
? Нужно чтобы эти файлы отображались в виде списка и можно было нажать на них и посмотреть. Пример на рисунке.
Во первых, нужно где то сохранять адреса открытых файлов. Для этого можно использовать User Settings. Можно все организовать примерно так:
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Dictionary<string,string> docs;
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.AutoGenerateColumns = false;
docs = new Dictionary<string, string>();
if (Properties.Settings.Default.DocsList != null)
foreach (var rw in Properties.Settings.Default.DocsList)
{
if (!docs.Select(r => r.Key).Contains(rw))
docs.Add(rw, Path.GetFileNameWithoutExtension(rw));
}
dataGridView1.DataSource = docs.ToList();
}
private void button1_Click(object sender, EventArgs e)
{
using (var dlg = new OpenFileDialog())
{
if(dlg.ShowDialog()==DialogResult.OK)
{
openDoc(dlg.FileName);
}
}
}
private void openDoc(string fileName)
{
if (Properties.Settings.Default.DocsList == null)
Properties.Settings.Default.DocsList = new System.Collections.Specialized.StringCollection();
Properties.Settings.Default.DocsList.Add(fileName);
Properties.Settings.Default.Save();
richTextBox1.LoadFile(fileName);
if (!docs.Select(r => r.Key).Contains(fileName))
{
docs.Add(fileName, Path.GetFileNameWithoutExtension(fileName));
dataGridView1.DataSource = null;
dataGridView1.DataSource = docs.ToList();
}
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
var f = dataGridView1[colKey.Name, dataGridView1.CurrentRow.Index].Value;
if (f != null)
openDoc(f.ToString());
}
}
}
Нужно еще организовать удаление из списка.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Ошибка при подключение к Windows Server по SSH
Ошибка CS0200 Невозможно присвоить значение свойству или индексатору "StringsName" — доступ только для чтения
Для активации сенсорной прокрутки ScrollViewer достаточно установить PanningMode в BothОднако, это не даёт возможности использовать Thumb ScrollBar'а при сенсорном...
Запись текста в файл или сохранение его, это по сути одно и тоже ? Но какой метод будет работать быстрее, 1-й или 2-й ?