文件路径和文本框

时间:2012-04-24 14:42:33

标签: c#

好的我将再试一次。我现在得到更多信息。我知道我不能使用打开和保存对话框,也没有数据库。所以我仍然有点失落,因为我之前已经展示了如何通过打开和保存对话框来实现它。我将把我想要做的事情,然后到目前为止我的代码。我有的代码我必须建立和添加。我还将展示我想添加的内容。我只是想找到理解这个原因的最好方法,我现在不是。我还是新手,我知道过去几天人们一直试图帮助我理解,然后我被告知它不是开放和保存对话框。这是我想要做的。

•添加一个名为txtFilePath的文本框< ---已经有

•在上面的文本框旁边添加一个按钮,显示“加载”(正确命名)< -ready has have that

•添加一个显示“保存”的按钮(适当地命名)< - 已经有了这个

•单击“加载”按钮时,读取文本框中指定的文件  (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();
}

如果这是正确的,那么我必须把它拿到哪里,如果文件不在那里,记事本会弹出,这样他们就可以添加它然后他们可以保存它而不删除任何文件或文件。

1 个答案:

答案 0 :(得分:0)

假设该文件包含员工姓名列表,您应该能够使用以下内容将其加载到列表框中:

var filepath = txtFilePath.Text;
if (File.Exists(filepath))
{
    var lines = File.ReadAllLines(filepath);
    foreach (var line in lines)
        employeeList.Items.Add(line);
}

然后假设您要将新员工姓名添加到用户刚刚输入列表框的文件中:

var filepath = txtFilePath.Text;
if (File.Exists(filepath))
    using (var sw = File.AppendText(filepath)) 
        sw.WriteLine((string)employeeList.Text);
else
    using (var sw = File.CreateText(filepath)) 
        sw.WriteLine((string)employeeList.Text);    

这尚未经过测试,但它应该按原样运行......