Witam.
Prosiłbym o pomoc w programie C# (Windows Forms Application). Mianowicie chciałbym zrobić prosty programik,
który odczyta plik .txt i wyświetli jego "słowa" w Form1 (np. w automatycznie wygenerowanych textbox-ach).
Plik txt posiada dane np.
1,coś tam,"zakupy", 25.49,[NAGŁÓWEK]
"PW",2.88/152,ZATWIERDZONY
dane są pooddzielane przecinkiem ",".
Siedzę nad tym już trzeci dzień i nic nie mogę stworzyć :(
Oto co udało mi się skleić :/
plik otwieram OpenFileDialog-iem i mam przykładowo 1 linię z 18 danymi.
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog okienko = new OpenFileDialog();
okienko.Filter = "Pliki (txt)|*.txt"; // format otwieranego pliku
if (okienko.ShowDialog() == DialogResult.OK)
{
MessageBox.Show("Wybrano plik: " + okienko.FileName); // akceptacja pliku
}
using (StreamReader reader = new StreamReader(okienko.FileName))
{
string line;
this.tableLayoutPanel1.Controls.Clear(); // czyszczenie kontrolek
while ((line = reader.ReadLine()) != null)
{
string[] data = line.Split(','); // odczytanie słowa do momentu przerwania ","
for (int u = 0; u <= 17; u++)
// 18 elementów <------- a chciałbym żeby automatycznie przeliczał ile słow jest w lini
{
TextBox txt = new TextBox();
txt.Name = String.Format("txt{0}", (u+1));
// (u+1) czyli zaczynanie od textBox1, bo u = 0 i też nie jestem pewien czy to dobry pomysł
txt.Text = data[u]; // wczytanie słowa
this.tableLayoutPanel1.Controls.Add(txt, (u+1),0); // dodanie textbox-a do tableLayoutPanel1
}
}
}
}
Do wyświetlenia użyłem tableLayoutPanel i wyświetla mi tylko pierwszego textbox-a z pierwszą daną :(
Chciałbym żeby dostęp do danych był jak najłatwiejszy (np. dana 1 = textBox1, dana 2 = textBox2 itp.)
Proszę o pomoc.