public partial class Expression_Equivalency_Form : Expression_SimplifIEr
但是,当我单击表单设计器时,会出现此错误,我无法查看表单的图形界面:
“找不到文件文件路径”
该文件位于deBUG文件夹中,该文件夹位于包含该程序的文件夹中的bin文件夹中,并在父类中重新显示.该文件由父表单读取和附加,没有问题.我试图研究这个,但一直无法找到解决方案.有人知道吗?
我已阅读该文件并附加到其中.我还使用以下代码从我的文本文件中删除任何空行:
file.Writealllines("PrevIoUsExpressioninputs.txt",file.ReadAlllines("PrevIoUsExpressioninputs.txt").Where(l => !string.IsNullOrWhiteSpace(l)));
写入文件的代码:
using (BinaryWriter Writer = new BinaryWriter(file.Open("PrevIoUsExpressioninputs.txt",fileMode.Append))){ Writer.Write(Expressionandanswertowritetotextfile); }
从文件中读取的代码:
foreach (string line in file.Readlines("PrevIoUsExpressioninputs.txt")){ try { linesInfile.Add(line); } catch (Exception) { }}解决方法 考虑以下事实:
>在设计模式下打开表单时,将运行其基类的构造函数.
>查找相对文件名时,将相对于应用程序的当前工作目录解析路径.
>当表单处于设计模式时,当前应用程序是Visual Studio,其工作目录是devenv.exe所在的位置.
它描述了为什么找不到文本文件.因为您在基本表单的构造函数(或基本表单的fir示例加载事件处理程序)中有一些代码,它们查找文件并且因为文件名是相对的,所以它在Visual Studio工作目录中查找文件而不能找到文件.
如何预防这个问题?检查Designmode属性以防止运行代码:
public partial class MyBaseForm : Form{ public MyBaseForm() { InitializeComponent(); } private voID MyBaseForm_Load(object sender,EventArgs e) { MessageBox.Show("This will show both in run-time and design time."); if (!Designmode) MessageBox.Show("This will show just in run-time"); }}
创建派生表单并在设计器中打开它以查看发生的情况:
public partial class Form1 : MyBaseForm{ public Form1() { InitializeComponent(); }}
要了解有关设计师工作原理的更多信息,请查看this post.
总结以上是内存溢出为你收集整理的c# – 子窗体无法找到文本文件全部内容,希望文章能够帮你解决c# – 子窗体无法找到文本文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)