예제 #1
0
 //パネルにフォームを埋め込む
 private void setMainPanelform(frmBFForm frm)
 {
     frm.Dock = DockStyle.Fill;
     //TopLevelをFalseにする
     frm.TopLevel = false;
     this.splitContainer2.Panel2.Controls.Add(frm);
     if (this.splitContainer2.Panel2.Controls.Count > 1)
     {
         this.splitContainer2.Panel2.Controls.RemoveAt(0);
     }
 }
예제 #2
0
        //----------------------------------------------------------------------
        // コールバックイベント from frmUserAccount
        //----------------------------------------------------------------------
        private void CallBackEventProgress(frmBFForm.MyEventArgs e)
        {
            //MessageBox.Show(e.commandNumValue.ToString() + ":" + e.commandStringValue);

            switch (e.commandNumValue)
            {
            case 99999:      //ユーザアカウント
                runF = null;

                //ユーザアカウント保守が終了したのでユーザーコントロールを表示
                button5.PerformClick();
                break;

            default:
                MessageBox.Show("何も設定されていません");
                break;
            }
        }
예제 #3
0
        //動的にフォームをインスタン化して表示する。
        private void setMainPanelform(string filename, string formname)
        {
            ////アセンブリ"WindowsApplication1.exe"を読み込む
            //System.Reflection.Assembly asm =
            //    System.Reflection.Assembly.LoadFile("WindowsApplication1.exe");
            // カレントディレクトリの取得
            string stCurrentDir = System.Environment.CurrentDirectory;

            stCurrentDir = stCurrentDir + @"\" + filename;
            System.Reflection.Assembly asm =
                System.Reflection.Assembly.LoadFile(stCurrentDir);

            ////Form1のTypeを取得する
            //Type t = asm.GetType("WindowsApplication1.Form1");
            Type t = asm.GetType(formname);

            if (t == null)
            {
                MessageBox.Show("Typeの取得で異常です。");
                return;
            }


            //Formのインスタンスを作成する
            object frm = t.InvokeMember(null,
                                        System.Reflection.BindingFlags.CreateInstance,
                                        null, null,
                                        new object[] { pb2com });

            //Baseフォームにキャスト
            runF = (frmBFForm)frm;

            //frm.Dock = DockStyle.Fill;
            runF.Dock = DockStyle.Fill;
            ////TopLevelをFalseにする
            //frm.TopLevel = false;
            runF.TopLevel = false;

            this.splitContainer2.Panel2.Controls.Add(runF);
            if (this.splitContainer2.Panel2.Controls.Count > 1)
            {
                this.splitContainer2.Panel2.Controls.RemoveAt(0);
            }

            //最前面へ移動
            runF.BringToFront();

            //----------------------------------------------------------------------
            // イベントハンドラの追加(コールバックイベントの追加)
            //----------------------------------------------------------------------
            //f.MyProgressEvent += new frmUserAccount.MyEventHandler(CallBackEventProgress);
            runF.MyProgressEvent += new frmBFForm.MyEventHandler(CallBackEventProgress);

            ////Form1のShowDialogメソッドを呼び出し、フォームを表示する
            //object result = t.InvokeMember("ShowDialog",
            //    System.Reflection.BindingFlags.InvokeMethod,
            //    null, frm,
            //    null);

            //フォームを表示する
            runF.Show();
            //モーダルダイアログとして表示出来ない。
            //f.ShowDialog();
            //button5.BackColor = saveColor;
        }