テキスト ボックスから顧客データを取得し、ドライブ C のテキスト ファイルに保存する単純なアプリケーションを作成しています。文字列はコンマで区切られています。そして、ボタンによって最初のフォームからアクティブ化される2番目のフォームに保存されたデータを表示します。これまでに書いたコードは次のとおりです。
コードはエラーなしでコンパイルされますが、警告が表示されます:
variable FILE in form2 is declared but not used..
. デバッグせずに開始すると、エラー レポートでクラッシュします。
「InvoiceDataAppGaoria.Form2」の型初期化子が例外をスローしました (Form2 F2=new Form2())
配列要素をテキスト ボックスに割り当てると、IDE (visual studio 2008) でエラーが報告されます。
フォーム2
namespace InvoiceDataAppGaoria
{
public partial class Form2 : Form
{
static string FILE = @"C:\Csharp\coursework1\maucha.txt";
static FileStream outFile = new FileStream("FILE", FileMode.Open, FileAccess.Read);
static StreamReader read = new StreamReader("FILE");
static string line = read.ReadLine();
static string[] values = line.Split(',');
string invoicetxt = values[0];
string lname = values[1];
string fname = values[2];
string AMT = values[3];
public Form2()
{
InitializeComponent();
}
}
}
フォーム1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
namespace InvoiceDataAppGaoria
{
public partial class Form1 : Form
{
const string DELIM = ",";
const string FILENAME = @"C:\Csharp\coursework1\maucha.txt";
int invoNum;
string lname,fname;
double AMT;
static FileStream outFile = new FileStream("FILENAME",FileMode.Create,FileAccess.Write);
StreamWriter writer = new StreamWriter(outFile);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
invoNum = Convert.ToInt32(invoicetxt.Text);
lname = lnameBox.Text;
fname = fnameBox.Text;
AMT = Convert.ToDouble(amtBox.Text);
writer.WriteLine(invoNum+DELIM+lname+DELIM+fname+DELIM+AMT);
}
private void button2_Click(object sender, EventArgs e)
{
Form2 F2 = new Form2();
F2.Show();
}
}
}