/// <summary>
        /// Shonwイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SilhouetteForm_Shown(object sender, EventArgs e)
        {
            // 現在のPMXデータを複製取得
            PEPlugin.Pmx.IPXPmx pe = Args.Host.Connector.Pmx.GetCurrentState();

            // 材質数チェック
            if (pe.Material.Count == 0)
            {
                MessageBox.Show("モデルが読み込まれていないか、材質がありません。"
                                , "エラー"
                                , MessageBoxButtons.OK
                                , MessageBoxIcon.Error);
                this.Close();
                return;
            }

            // Grid初期化
            GridMaterial.Rows.Clear();

            // GridMaterialの表示
            foreach (var Material in pe.Material)
            {
                // 行追加
                // 色はデフォルトで黒とする
                GridMaterial.Rows.Add(Material.Name, "");
                GridMaterial.Rows[GridMaterial.Rows.Count - 1].Cells[1].Style.BackColor          = Color.Black;
                GridMaterial.Rows[GridMaterial.Rows.Count - 1].Cells[1].Style.SelectionBackColor = Color.FromArgb(0xFF0000);
                GridMaterial.Rows[GridMaterial.Rows.Count - 1].Resizable = DataGridViewTriState.False;
            }
            GridMaterial.Refresh();
        }
        /// <summary>
        /// 確定ボタン押下
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEnter_Click(object sender, EventArgs e)
        {
            // 最終確認
            if (MessageBox.Show("処理を実行します。よろしいですか?"
                                , "確認"
                                , MessageBoxButtons.OKCancel
                                , MessageBoxIcon.Asterisk) != DialogResult.OK)
            {
                return;
            }

            // 全材質に対しシルエット処理
            ///*

            // 現在のPMXデータを複製取得
            PEPlugin.Pmx.IPXPmx pe = Args.Host.Connector.Pmx.GetCurrentState();
            int rows = 0;

            foreach (var Material in pe.Material)
            {
                // エッジ off
                Material.Edge = false;
                // 反射強度 0
                Material.Power = 0;
                // セルフシャドウ off
                Material.SelfShadow = false;
                // セルフシャドウマップ off
                Material.SelfShadowMap = false;
                // 地面影 off
                Material.Shadow = false;
                // テクスチャ削除
                Material.Tex = "";
                // Toon削除
                Material.Toon = "";
                // スフィア削除
                Material.Sphere = "";
                // 拡散色 RGB 0
                Material.Diffuse.R = 0;
                Material.Diffuse.G = 0;
                Material.Diffuse.B = 0;
                // 非透過度が0のものは除外
#warning TODO:後で0を超える非透過度については非透過とするかそのままとするかチェックで選択できるようにする
                if (Material.Diffuse.A != 0)
                {
                    Material.Diffuse.A = 1;
                }
                // 反射色 RGB 0
                Material.Specular.R = 0;
                Material.Specular.G = 0;
                Material.Specular.B = 0;
                // 環境色 RGB 0
                // Gridより色を取得する
                Color color = GridMaterial.Rows[rows].Cells[1].Style.BackColor;
                Material.Ambient.R = color.R / (float)255;
                Material.Ambient.G = color.G / (float)255;
                Material.Ambient.B = color.B / (float)255;

                rows++;
            }

            // 編集したモデル情報でPMXエディタ側を更新
            Args.Host.Connector.Pmx.Update(pe, PEPlugin.Pmx.PmxUpdateObject.Material, -1);

            // 表示更新
            Args.Host.Connector.Form.UpdateList(PEPlugin.Pmd.UpdateObject.Material);
            Args.Host.Connector.View.PmxView.UpdateModel();
            Args.Host.Connector.View.PmxView.UpdateView();

            // 終了
            MessageBox.Show("処理完了しました。"
                            , "終了"
                            , MessageBoxButtons.OK
                            , MessageBoxIcon.Asterisk);
            this.Close();
        }