良いニュースは私がこのプロジェクトの最後の部分ですが、悪い知らせは私が理解できないことです。私のプログラムは2つの形式から成っています。最初の形式は、当初はテキストファイルを辞書にロードする場所なので、この時点でのみ関連性があります。選択に一致する配列内の要素を検索し、配列のその行に書き込む
class SharedMethods
{
public static void LoadDictionary(Dictionary<string, string> vendorPhones)
{
string currentLine;
string[] fields = new string[2];
StreamReader vendorReader = new StreamReader("Vendor.txt");
while (vendorReader.EndOfStream == false)
{
currentLine = vendorReader.ReadLine();
fields = currentLine.Split(',');
vendorPhones.Add(fields[1], fields[6]);
string[] name = { fields[1] };
string[] phone = { fields[6] };
}
vendorReader.Close();
}
}
ここで重要なのは第2の形式です。このフォームは最初のフォームから開き、ユーザーがコンボボックスから名前を選択できるようになり、その名前に属する電話番号がテキストボックスに表示されます。ユーザーは、テキストボックスに入力してその名前を上書きし、[保存]をクリックしてテキストファイルに保存することができます。私の問題は、テキストで選択された名前を見つけて、その行の現在の電話要素に書き込むための書き込み関数の取得方法を理解できないことです。ここでは、このフォームのための私のコードは次のとおりです。
public partial class UpdateVendor : Form
{
public UpdateVendor()
{
InitializeComponent();
}
public Dictionary<string, string> vendorPhones = new Dictionary<string, string>();
private void UpdateVendor_Load(object sender, EventArgs e)
{
SharedMethods.LoadDictionary(vendorPhones);
foreach (string name in vendorPhones.Keys)
{
cboVendors.Items.Add(name);
}
}
private void cboVendors_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedName = cboVendors.SelectedItem.ToString();
string phone = vendorPhones[selectedName];
txtPhone.Text = phone.ToString();
}
private void btnSave_Click(object sender, EventArgs e)
{
//SharedMethods.LoadDictionary(vendorPhones);
//string selectedName = cboVendors.SelectedItem.ToString();
//string newPhone;
//newPhone = txtPhone.Text;
//using (var sw = new StreamWriter("Vendors.txt"))
//{
//}
// I've tried a lot of things but can't get any to work.
}
申し訳ありませんが、コードを使用すると、嫌悪感にうんざりになります。私はちょうどコードを学習しています。ここでは、追加するには
が実行しているときに、プログラムがどのように見えるかです: Second form running
あなたはこのフォームが最初のフォームから開かれた」と述べたとから名前を選択するようにユーザーに許可しますコンボボックスには、その名前に属する電話番号がテキストボックスに表示されます。ユーザーはテキストボックスに入力してその名前を上書きし、[保存]をクリックしてテキストファイルに保存することができます。 **電話番号**を上書きするために、テキストボックスにユーザーが入力できることを意味していませんか? –