ClosingType ClosingStatus = ClosingType.DoNothing; //FormClosingイベントが発生した際の挙動の種類 /// <summary> /// コンストラクタ /// </summary> /// <param name="userInfo">ログインユーザーのユーザー情報</param> /// <param name="callerLocation">呼び出し元の座標</param> public MailDestinationForm(UserInfo userInfo, Point callerLocation) { InitializeComponent(); var addresInfoList = new List <MailInfo>(); //アドレス情報 this.MailInfoList = new List <MailInfo>(); this.UserInfo = userInfo; this.Location = callerLocation; //アドレス情報取得 try { addresInfoList = new MailLogic().GetAddresInfo(this.UserInfo.UserID); } catch (NpgsqlException) { MessageBox.Show("アドレス情報の取得に失敗しました。", "お知らせ"); return; } var mailLogic = new MailLogic(); //画面に宛先一覧を表示し、各行にその宛先のアドレス情報を設定 for (int i = 0; i < addresInfoList.Count; i++) { dataGridView1.Rows.Add(mailLogic.GenerateAddressName(addresInfoList[i])); dataGridView1.Rows[i].Cells[1].Value = false; //チェックボックスの初期値をfalseに設定 dataGridView1.Rows[i].Cells[0].Tag = addresInfoList[i]; } }
/// <summary> /// 宛先ボタンクリックイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { string addresName = null; //画面に表示する宛先 var mailLogic = new MailLogic(); this.Hide(); //宛先フォームに遷移し、宛先を選択 var mailDestinationForm = new MailDestinationForm(this.UserInfo, this.Location); mailDestinationForm.ShowDialog(); this.Show(); if (mailDestinationForm.MailInfoList.Count > 0) { //宛先フォームで選択した宛先を、メール作成フォームのフィールドに設定 this.MailInfoList = mailDestinationForm.MailInfoList; //送信先のアドレスすべてを連結して一つにする for (int i = 0; i < mailDestinationForm.MailInfoList.Count; i++) { addresName += mailLogic.GenerateAddressName(mailDestinationForm.MailInfoList[i]); //繰り返し処理の最後の周以外は、文字列にカンマを付け加える if (i < mailDestinationForm.MailInfoList.Count - 1) { addresName += ","; } } label1.Text = addresName; //送信先のアドレスを表示 button2.Enabled = true; //送信ボタンを活性に } else { button2.Enabled = false; //送信ボタンを非活性に } mailDestinationForm.Dispose(); //宛先フォームのリソースを解放 }