/*
* Copyright INDEX Co.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using ChatworkBulkSender.UserControls;
namespace ChatworkBulkSender.Forms
{
public partial class M_SendPatternMaster : Form
{
private PatternSearchBoxControl _patternSearchBoxControl = null;
private PattrernDgvControl _pattrernDgvControl = null;
private BtnAddMasterControl _btnControl = null;
public M_SendPatternMaster()
{
InitializeComponent();
// 初期画面のサイズ
this.ClientSize = new Size(1600,900);
// ウィンドウサイズを固定にする
this.FormBorderStyle = FormBorderStyle.FixedSingle;
// 現在の画面の中央に表示する
this.StartPosition = FormStartPosition.CenterScreen;
_patternSearchBoxControl = new PatternSearchBoxControl();
_patternSearchBoxControl.Dock = DockStyle.Fill;
_pattrernDgvControl = new PattrernDgvControl();
_pattrernDgvControl.Dock = DockStyle.Fill;
_btnControl = new BtnAddMasterControl();
_btnControl.Dock = DockStyle.Fill;
panelSearch.Controls.Add(_patternSearchBoxControl);
panelDgv.Controls.Add(_pattrernDgvControl);
panelBtn.Controls.Add(_btnControl);
this.ActiveControl = panelSearch;
}
private void M_SenderPatternMaster_Load(object sender, EventArgs e)
{
// 戻るボタンのクリックイベントの登録
_btnControl.BtnReturnClicked += BtnReturn_Click;
_btnControl.BtnCreateAddClicked += BtnCreateAdd_Click;
//検索イベント
_patternSearchBoxControl.SearchRequested += PatternSearchBoxControl_SearchRequested;
}
/// <summary>
/// 戻るボタンのクリックの時にフォームを閉じる
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnReturn_Click(object sender, EventArgs e)
{
// フォームを閉じる
this.Close();
}
private void BtnCreateAdd_Click(object sender, EventArgs e)
{
this.Hide();
M_SendPatternIndividualEdit individualEdit = new M_SendPatternIndividualEdit();
individualEdit.Owner = this;
individualEdit.Show();
}
/// <summary>
/// フォームに表示するユーザーコントロールをパネルから削除した後、明示的なDisposeで解放する。
/// </summary>
private void DisposeViewControls()
{
// パネルから削除する
panelSearch.Controls.Clear();
panelDgv.Controls.Clear();
panelBtn.Controls.Clear();
// 削除だけでは解放されないので、明示的に解放する
_patternSearchBoxControl.Dispose();
_pattrernDgvControl.Dispose();
_btnControl.Dispose();
}
private void PatternSearchBoxControl_SearchRequested(object sender, Dictionary<string,object> criteria)
{
_pattrernDgvControl.Search(criteria);
}
private void M_SenderPatternMaster_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("送信パターンマスタ画面を終了してもよろしいですか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.No)
{
e.Cancel = true;
return;
}
// イベント登録の解除
_btnControl.BtnReturnClicked -= BtnReturn_Click;
// 明示的に解放する
this.DisposeViewControls();
// 設定メニューを表示する
this.Owner.Show();
// 再描写を行う
this.Owner.Refresh();
}
}
}