0

現在、私のコードはテキスト ファイル全体を取得し、すべてを 1 つのテキスト ボックスに配置するだけです。私がどうするかを理解しようとしているのは、ファイルの各行をそれぞれの個別のテキスト ボックスに配置することです。

namespace HomeInventory2
{
    public partial class Form1 : Form
    {
        public Form1(string prepopulated)
        {
            InitializeComponent();
            textBoxAmount.Text = prepopulated;
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void submitButton_Click(object sender, EventArgs e)
        {
            CreateInventory create = new CreateInventory();
            create.ItemAmount = textBoxAmount.Text;
            create.ItemCategory = textBoxCategories.Text;
            create.ItemProperties = textBoxValue.Text;
            create.ItemValue = textBoxValue.Text;

            InventoryMngr invtryMngr = new InventoryMngr();
            invtryMngr.Create(create);

        }
    }
4

2 に答える 2

2

TextBox行の順序が常に同じであり、それぞれが行に属していると仮定すると、次のようになります。

IEnumerable<String> lines = File.ReadLines(path);
textBoxAmount.Text = lines.ElementAtOrDefault(0);
textBoxCategories.Text = lines.ElementAtOrDefault(1);
textBoxValue.Text = lines.ElementAtOrDefault(2);
...

Enumerable.ElementAtOrDefault<TSource>方法

シーケンス内の指定されたインデックスにある要素を返します。インデックスが範囲外の場合は既定値を返します (この場合は null)。

于 2012-10-18T22:38:05.480 に答える
1

System.IO.File.ReadAllLines(string filename) を使用できます。これが行うことは、ファイルの各行を String 配列に読み込むことです。次に、次のようなことができます。

using System.IO;


//Namespace, Class Blah Blah BLah


String[] FileLines = File.ReadAllLines("Kablooey");


textBox1.Text = FileLines[0];

textbox2.Text = FileLines[1];

等々。これが役立つことを願っています:)

于 2012-10-18T23:03:55.490 に答える