C#.NET:在标签中显示字符数组的前100个元素,然后在键入时一次将一个元素移动到只读文本框中?
我正在做我在C#NET中作为windows窗体的合作项目的第一个项目。这是一个打字游戏,将加载到一个.txt文件中。然后.txt文件的内容将显示在标签中。问题是,只能显示前100个字符。然后用户必须“键入”显示的内容。对于他们键入的每个正确字符,该字符将从标签中删除并移动到只读文本框。然后更新原始标签,以便在最后加载一个额外的字符(因为现在标签中只有99个字符-我们总是想要100个)。如果键入错误的字符,则不会发生任何情况 除了到目前为止我已经完成的步骤——从.txt文件创建一个char数组之外,我根本不知道如何进行这项工作。这是我的代码(我卡在上面的潜艇是最低的): 看看这个,你必须将你按下的按键注册为触发的事件。然后调用的方法只需对照数组中的第一个字符进行检查 因此,将数组存储在表单上或作为静态变量在事件方法中访问它,然后简单地将第一个charArray元素与接收到的输入进行比较(我猜可用的属性“Keys.O”包含一些字符串作为输出,如果没有,则必须进行切换以处理每个键。然后简单地比较它C#.NET:在标签中显示字符数组的前100个元素,然后在键入时一次将一个元素移动到只读文本框中?,c#,arrays,.net,winforms,inputstream,C#,Arrays,.net,Winforms,Inputstream,我正在做我在C#NET中作为windows窗体的合作项目的第一个项目。这是一个打字游戏,将加载到一个.txt文件中。然后.txt文件的内容将显示在标签中。问题是,只能显示前100个字符。然后用户必须“键入”显示的内容。对于他们键入的每个正确字符,该字符将从标签中删除并移动到只读文本框。然后更新原始标签,以便在最后加载一个额外的字符(因为现在标签中只有99个字符-我们总是想要100个)。如果键入错误的字符,则不会发生任何情况 除了到目前为止我已经完成的步骤——从.txt文件创建一个char数组之外
if(e.KeyCode.ToLower()==charArray[0]){//do stuff}
如果条件为true,则将第一项设置为下一次运行时可以跳过/忽略的特定字符,或者将数组复制到除第一项之外的新字符
Text将始终显示数组的前100个字符(或跳过x项,具体取决于您可能使用的替换特殊字符)
我希望这能帮助您找到前进的方向。非常感谢您。我一定会尝试一下。
string FileContent = string.Empty;
string FilePath = string.Empty;
//File Browser and Uploader
private void btnOpenFile_Click(object sender, EventArgs e)
{
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
//Filters the file types so we can only choose .txt files.
openFileDialog.InitialDirectory = "c:\\";
openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog.FilterIndex = 2;
openFileDialog.RestoreDirectory = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
//Get the path of specified file.
FilePath = openFileDialog.FileName;
//Read the contents of the file into a stream.
var fileStream = openFileDialog.OpenFile();
using (StreamReader reader = new StreamReader(fileStream))
{
FileContent = reader.ReadToEnd();
}
}
}
//Loader for the Input Stream
InputStreamLoader();
}
//Applies File Text to Input Stream
private void InputStreamLoader()
{
char[] characters = FileContent.ToCharArray();
}