public MeshViewFrm(Constants.FemElementShapeDV elemShapeDv, int elemOrder, FemPostProLogic postPro)
        {
            InitializeComponent();

            // データを受け取る
            ElemShapeDv = elemShapeDv;
            ElemOrder = elemOrder;
            PostPro = postPro;

            //this.DoubleBuffered = true;
            // ダブルバッファ制御用のプロパティを強制的に取得する
            System.Reflection.PropertyInfo p;
            p = typeof(System.Windows.Forms.Control).GetProperty(
                         "DoubleBuffered",
                          System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);

            // ダブルバッファを有効にする
            p.SetValue(panelMesh, true, null);

            // メッシュ形状ラベル
            string shapeStr = ElemShapeDv == Constants.FemElementShapeDV.QuadType2? "四角形" : "三角形";
            labelElemShape.Text = string.Format("{0}次{1}要素", ElemOrder, shapeStr);
            labelMeshInfo.Text = string.Format("節点数: {0} 要素数: {1}", PostPro.NodeCnt, PostPro.ElementCnt);
        }
        /// <summary>
        /// 初期化処理
        /// </summary>
        private void init()
        {
            CadModeRadioButtons = new RadioButton[]
            {
                radioBtnNone,
                radioBtnArea,
                radioBtnMediaFill,
                radioBtnPort,
                radioBtnErase,
                radioBtnIncidentPort,
                radioBtnPortNumbering
            };
            // Cadモードをラジオボタンに紐づける
            CadLogic.CadModeType[] cadModeTypeForRadioButtons = new CadLogic.CadModeType[]
            {
                CadLogic.CadModeType.None,
                CadLogic.CadModeType.Area,
                CadLogic.CadModeType.MediaFill,
                CadLogic.CadModeType.Port,
                CadLogic.CadModeType.Erase,
                CadLogic.CadModeType.IncidentPort,
                CadLogic.CadModeType.PortNumbering
            };
            System.Diagnostics.Debug.Assert(CadModeRadioButtons.Length == cadModeTypeForRadioButtons.Length);
            for (int i = 0; i < CadModeRadioButtons.Length; i++)
            {
                CadModeRadioButtons[i].Tag = cadModeTypeForRadioButtons[i];
            }
            MediaRadioButtons = new RadioButton[]
            {
                radioBtnMedia0, // 導体
                radioBtnMedia1, // 真空
                radioBtnMedia2, // 誘電体1
                radioBtnMedia3  // 誘電体2
            };
            EpsTextBoxes = new TextBox[]
            {
                textBoxEps0, // 導体
                textBoxEps1, // 真空
                textBoxEps2, // 誘電体1
                textBoxEps3  // 誘電体2
            };
            System.Diagnostics.Debug.Assert(MediaRadioButtons.Length == Constants.MaxMediaCount);
            System.Diagnostics.Debug.Assert(EpsTextBoxes.Length == Constants.MaxMediaCount);
            panelMedia.Visible = false;
            btnLoadCancel.Visible = false;

            CadLgc = new CadLogic(CadPanel);
            Solver = new FemSolver();
            PostPro = new FemPostProLogic();

            // アプリケーションの終了イベントハンドラを設定する
            AppDomain.CurrentDomain.ProcessExit += (sender, e) =>
            {
                Console.WriteLine("Process exiting");
                System.Diagnostics.Debug.WriteLine("Process exiting");
                // フォームの破棄処理を呼び出す
                this.Dispose();
            };

            // パネルサイズを記憶する
            savePanelSize();

            //this.DoubleBuffered = true;
            // ダブルバッファ制御用のプロパティを強制的に取得する
            System.Reflection.PropertyInfo p;
            p = typeof(System.Windows.Forms.Control).GetProperty(
                         "DoubleBuffered",
                          System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
            // ダブルバッファを有効にする
            //SimpleOpenGlControlの場合は不要
            //p.SetValue(CadPanel, true, null);
            p.SetValue(FValuePanel, true, null);

            // フォームのタイトルを退避
            TitleBaseName = this.Text + " " + MyUtilLib.MyUtil.getAppVersion();

            // ファイル名付きフォームタイトルを設定
            setFrmTitle();

            // GUI初期化
            resetGUI();
        }