質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

1回答

2178閲覧

Windowsフォームアプリケーションのタブでボタンで生成した時に自作アプリケーションを開きたい

sironoir

総合スコア11

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2018/02/14 00:53

編集2022/01/12 10:55

今Windowsフォームアプリケーションで自作した電卓などを起動する雑多ツールを作っているのですが、ボタンでタブを生成した際に生成したタブ内に別の自作したWindowsフォームアプリケーションを起動することは可能でしょうか?

C#

1using System; 2using System.Collections.Generic; 3using System.ComponentModel; 4using System.Data; 5using System.Drawing; 6using System.Linq; 7using System.Text; 8using System.Threading.Tasks; 9using System.Windows.Forms; 10 11namespace platform 12{ 13 public partial class Form1 : Form 14 { 15 public Form1() 16 { 17 InitializeComponent(); 18 } 19 20 21 22 private void ファイルToolStripMenuItem_Click(object sender, EventArgs e) 23 { 24 25 } 26 27 private void Form1_Load(object sender, EventArgs e) 28 { 29 30 } 31 32 private void 電卓ToolStripMenuItem_Click(object sender, EventArgs e) 33 { 34 TabPage tp = new TabPage("電卓"); 35 tabControl1.TabPages.Add(tp); 36 } 37 38 private void メモ帳ToolStripMenuItem_Click(object sender, EventArgs e) 39 { 40 TabPage tp = new TabPage("メモ帳"); 41 tabControl1.TabPages.Add(tp); 42 } 43 44 private void ペイントToolStripMenuItem_Click(object sender, EventArgs e) 45 { 46 TabPage tp = new TabPage("ペイント"); 47 tabControl1.TabPages.Add(tp); 48 } 49 50 private void メディアプレイヤーToolStripMenuItem_Click(object sender, EventArgs e) 51 { 52 TabPage tp = new TabPage("メディアプレイヤー"); 53 tabControl1.TabPages.Add(tp); 54 } 55 56 private void 終了ToolStripMenuItem_Click(object sender, EventArgs e) 57 { 58 DialogResult ret; 59 ret = MessageBox.Show("アプリケーションを終了しますか?" 60 , "確認", MessageBoxButtons.YesNo); 61 if(ret == DialogResult.Yes) 62 { 63 Application.Exit(); 64 } 65 } 66 67 private voidToolStripMenuItem2_Click(object sender, EventArgs e) 68 { 69 tabControl1.TabPages.Remove(tabControl1.SelectedTab); 70 } 71 72 73 } 74} 75

この
private void メモ帳ToolStripMenuItem_Click(object sender, EventArgs e)
{
TabPage tp = new TabPage("メモ帳");
tabControl1.TabPages.Add(tp);
}
のところでメニューをクリックするとタブを生成するようにしています。このタブを生成する時に別で作ったWindowsフォームアプリケーションで作った電卓やメモ帳のアプリケーションを開けるようにしたいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

「他のアプリケーション」というなら少し厄介ですが、「自作アプリケーション」なら容易です。
そのアプリをロードして Activator でメインフォームを生成し、タブパネルの子にしてください。

投稿2018/02/14 01:57

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2018/02/15 02:35

質問の編集だけということはこの回答は気に入らなかったということですね。 アセンブリをロードしてそこで実装されているクラスを取得する方法を調べてください。 すぐにみつかると思います。 Activator の使い方を調べてください。 すぐにみつかると思います。 Control を別の Control の子にする方法を調べてください。 すぐにみつかると思います。 それを組み合わせてください。
sironoir

2018/02/19 00:56

ありがとうございます、参考にさせていただきます。 質問の編集をしたのはどういったコードを組んでいる最中なのかなどの表示をしておきたかったからです。
Zuishin

2018/02/19 01:01

チンプンカンプンであれば参考にならないと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問