好的,我要再试一次。我现在得到了更多信息。我知道我不能使用打开和保存对话框,也没有数据库。所以我还是有点迷茫,因为我之前被展示过如何使用打开和保存对话框来做到这一点。我将提出我应该做的事情,然后是到目前为止我拥有的代码。我必须构建和添加的代码。我还将展示我想添加的内容。我只是想找到最好的方法来理解这个原因,现在我不是。我还是新手,我知道过去几天人们一直试图帮助我理解,然后我被告知它不是打开和保存对话框。这是我应该做的。
•添加一个名为 txtFilePath <--- 已经有的文本框
•在上面的文本框旁边添加一个按钮,上面写着“加载”(适当地命名)<-已经有了
•添加一个按钮,上面写着“保存”(适当地命名)<--已经有了这个
•单击“加载”按钮时,读取文本框中指定的文件(txtFilePath:绝对路径不是相对的)并将在其中找到的对象添加到列表框<---不理解
•当用户点击“保存”按钮时,将选中的记录写入txtFilePath中指定的文件(绝对路径不是相对的)而不截断当前里面的值<--不明白
这是我拥有的代码的一部分:`
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void addButton_Click(object sender, EventArgs e)
{
EditDialog newEmployeeDialog = new EditDialog();
if (newEmployeeDialog.ShowDialog() == DialogResult.OK)
{
employeeList.Items.Add(newEmployeeDialog.StaffMember);
}
}
private void deleteButton_Click(object sender, EventArgs e)
{
if (employeeList.SelectedIndex == -1)
return;
if (MessageBox.Show("Really delete this employee",
"Delete", MessageBoxButtons.YesNo,
MessageBoxIcon.Question)
== DialogResult.Yes)
{
employeeList.Items.Remove(
employeeList.SelectedItem);
}
}
private void editButton_Click(object sender, EventArgs e)
{
if (employeeList.SelectedIndex == -1)
return;
int employeeNum = employeeList.SelectedIndex;
EditDialog newEmployeeDialog = new EditDialog();
newEmployeeDialog.StaffMember =
(Employee)employeeList.SelectedItem;
if (newEmployeeDialog.ShowDialog() == DialogResult.OK)
{
employeeList.Items.RemoveAt(employeeNum);
employeeList.Items.Insert(employeeNum, newEmployeeDialog.StaffMember);
employeeList.SelectedIndex = employeeNum;
}
}
private void employeeList_SelectedIndexChanged(object sender, EventArgs e)
{
if (employeeList.SelectedIndex != -1)
{
Employee currentEmployee = (Employee)employeeList.SelectedItem;
firstName.Text = currentEmployee.FirstName;
lastName.Text = currentEmployee.LastName;
jobTitle.Text = currentEmployee.JobTitle;
}
else
{
firstName.Text = lastName.Text = jobTitle.Text = "";
}
}
`
现在我知道你看不到按钮点击,但我确实有它们的标记。我知道您何时使用 open 并保存它是如何工作的。我该怎么办?我会正确使用流编写器。我知道用户将在文本框中输入路径,当用户点击加载时,它将加载他们指定的文件。现在我只是想理解一个能够正确表达这一点的代码。
会是这样的吗:
String filePath = this.txtFilePath.Text;
因为我需要将文本框命名为 txtFilePath。我知道你们中的一些人可能会说这很简单,但是当您第一次学习时,它似乎并不那么简单。自从我在家上大学以来,我一直在尝试一些事情来帮助我理解。感谢您的阅读,希望收到你们的来信。
更新:会是这样吗
读取文件
private void Load_Click(object sender, EventArgs e)
{
StreamReader myReader = new StreamReader(C:\\")
txtFilePath.Text = my reader.read to end();
myReader.Close();
}
然后是写一个文件
{
StreamWriter myWriter = new StreamWriter("C:\\test.txt", true);
myWriter.Write("Some text");
myWriter.WriteLine("Write a line");
myWriter.WriteLine("Line 2");
myWriter.Close();
}
如果这是正确的,那么我必须将它放在哪里,如果文件不存在以便记事本弹出以便他们可以添加它,那么他们可以保存它而不删除文件中的任何内容。