我是Visual Studio(C#)的新手。 我想存储从文本文件中读取的文本,并将其显示在TextBlock控件上,但仅用于指定的行。 我怎样才能做到这一点? 我试图在互联网上search,其中大多数只是显示阅读和写作的方式。
我有一个TextBlock(名为“FlashText”)和两个button(一个用于“上一个”button,另一个用于“下一个”button)。 我想要的是,当我点击“下一步”button时,TextBlock显示从指定行(例如,第一行)上的txt文件中读取的文本。 当我再次点击“下一步”时,TextBlock应显示从文件中读取的第二行文本。
目的是制作一个简单的闪存卡。 代码在这里:
`
IntelliJ IDEA中的JDK捆绑版本的主目录
Sass使用Ruby – '“”C: Program“不被识别为内部或外部命令
windows上的GStreameraudiostream
处理OpenThread()已经返回,QueueUserApc()认为它是无效的
如何检测全屏应用程序是否在windows中运行?
private voID btnRight_Click(object sender,RoutedEventArgs e) { string filePath = @"D:My Workspaceswindows Phone 7 SolutionSimpleFlashCardEnglishFlashCard.txt"; int counter = 0; string line; System.IO.StreamReader file = new System.IO.StreamReader(filePath); while((line = file.Readline()) != null) { Console.Writeline(line); counter++; } } file.Close(); FlashText.Text = Console.Readline();
`
请帮忙。 谢谢一堆。
更新:
最近的主要代码是:
public partial class MainPage : PhoneApplicationPage { private FlashCard _flashCard; // Constructor public MainPage() { InitializeComponent(); // This Could go under somewhere like a load new flash card button or // menu option etc. try { _flashCard = new FlashCard(@"D:My Workspaceswindows Phone 7 SolutionFCardMydocumentsEnglishFlashCard.txt"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private voID btnleft_Click(object sender,RoutedEventArgs e) { displayPrevIoUs(); } private voID btnRight_Click(object sender,RoutedEventArgs e) { displayNext(); } private voID displayNext() { try { FlashText.Text = _flashCard.GetNextline(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private voID displayPrevIoUs() { try { FlashText.Text = _flashCard.GetPrevIoUsline(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
这是用于“ FlashCard ”类的:
public class FlashCard { private Readonly string _file; private Readonly List<string> _lines; private int _currentline; public FlashCard(string file) { _file = file; _currentline = -1; // Ensure the List is initialized _lines = new List<string>(); try { LoadCard(); } catch (Exception ex) { MessageBox.Show(ex.Message); // This line got a message while running the solution } } private voID LoadCard() { if (!file.Exists(_file)) { // Throw a file not found exception } using (var reader = file.OpenText(_file)) { string line; while ((line = reader.Readline()) != null) { _lines.Add(line); } } } public string GetPrevIoUsline() { // Make sure we're not at the first line already if (_currentline > 0) { _currentline--; } return _lines[_currentline]; //-- This line got an error } public string GetNextline() { // Make sure we're not at the last line already if (_currentline < _lines.Count - 1) { _currentline++; } return _lines[_currentline]; //-- This line got an error } }
运行解决scheme时出现错误消息: 尝试访问方法失败:System.IO.file.Exists(System.String) 。
我尝试过使用断点,而它正在获取LoadCard()方法,它直接抛出到构造函数的exception。 我已经重新检查了txtpath,但这是真的。
而且在' return _lines [_currentline] '上点击'Next'/'PrevIoUs'button时也会出现错误信息。 '行表示: ArgumentOutOfRangeException是未处理的 (如果点击“Next”的“PrevIoUs”button和GetNextline()方法,它会在GetPrevIoUsline()方法上发生。
如果您需要更多信息,我很乐意提供。 总结
以上是内存溢出为你收集整理的如何读取文本文件并将其显示在Visual Studio中的TextBlock上(C#)全部内容,希望文章能够帮你解决如何读取文本文件并将其显示在Visual Studio中的TextBlock上(C#)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)