フォーム間で配列を渡すことになると、この概念は非常に新しいと言うことから始めます。
現在、私は悲惨な状況にあります:
ユーザーがボタンをクリックすると、ユーザーの詳細を示すグリッドビューが生成されます
ユーザーはセルをクリックすると、データがテキストボックスと配列リストに追加されます。
次に、ユーザーはボタンをクリックして前のフォームに戻り、最初のフォームのテキストボックス内に配列リスト要素にアクセスして表示します。
現在、最初のフォーム(Form1)用に、2番目のフォームから宣言されたarrayListを設定する新しいコンストラクターを作成しました。
現時点ではエラーは発生していませんが、空白のフォームが作成されています。次のスクリーンショットは状況を示しています。
ユーザーは、最初のフォームの[追加]ボタンをクリックします-Form1
次に、ユーザーはアドレスをテキストボックスに配置する「電子メール」セルを選択します。このメールアドレスは、バックグラウンドコードのリスト配列にも追加されます。
[連絡先の追加]をクリックすると、最初のフォーム(最初の画像のフォーム)が表示されますが、代わりに新しいフォームが作成されます。
これがコードです。現在、この問題は、返された配列リストを設定するために使用されるForm1クラスの2番目のコンストラクターにあると考えています。
List<string> myCollection = new List<string>();
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
string add = dataGridView1.CurrentRow.Cells[3].Value.ToString();
myCollection.Add(add);
txtCCAdd.Text += add + ", ";
}
private void btnSetCC_Click(object sender, EventArgs e)
{
Form1 form = new Form1(myCollection);
form.Show();
}
リストの設定に使用されるForm1コンストラクター:
string attachment;
List<string> myCollection = new List<string>();
public Form1()
{
InitializeComponent();
}
**** Second constructor used to set the List array ****
public Form1(List<string> a)
{
myCollection = a;
}
うまくいけば、誰かが私がどこで間違っているのか教えてくれます!