我在桌面应用程序中将一个相对较大的文件加载到RichTextBox中。
我尝试过很多在网络上看到的解决方案,包括LoadFile,ReadToEnd,ReadAllText和......
它们在我的PC(以及一台类似配置的PC)上工作正常,延迟相当小。
但是在公司的其他PC上,我发布的应用程序只是冻结了加载文件,有时会显示错误。
错误提到问题在CRC.Form1.OpenFile()
private void OpenFile()
{
OpenFileDialog _ofd = new OpenFileDialog();
_ofd.Title = "Open Document";
if (inputComboBox.SelectedItem == "From File (bare Hex)")
{
_ofd.Filter = "Text Files|*.txt|Hex Files|*.hex|Hxd Files|*.hxd|ROM Files|*.rom";
}
else if (inputComboBox.SelectedItem == "From File (Intel Hex)")
{
_ofd.Filter = "Hex Files|*.hex|Hxd Files|*.hxd|Text Files|*.txt|ROM Files|*.rom";
}
_ofd.FileName = string.Empty;
if (_ofd.ShowDialog() == DialogResult.OK)
{
if (_ofd.FileName == String.Empty)
{
return;
}
else
{
//_LBA = 0;
//StringBuilder oSB = new StringBuilder();
//string _line;
//inputTextBox.LoadFile(_ofd.FileName,RichTextBoxStreamType.PlainText);
//FileStream _fs = new FileStream(_ofd.FileName, FileMode.Open);
//using (StreamReader oStreamReader = new StreamReader(_ofd.FileName))
//{
// while ((_line = oStreamReader.ReadLine()) != null)
// {
// inputTextBox.AppendText(_line+ "\n");
// }
//oSB = File.ReadAllLines(_ofd.FileName);
inputTextBox.Text = File.ReadAllText(_ofd.FileName);
//inputTextBox.Text = oStreamReader.ReadToEnd();
//inputTextBox.Text = oSB.ToString();
//}
}
}
}
此文件立即加载到Notepad ++中。
有谁知道应该做些什么来使这种加载更快(可能是即时的)并解除不同PC中的行为差异?
请记住,我的某些电脑没有任何问题。