teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

原因は「空のプロジェクト」から作成したためと判明したのでそれを反映

2020/09/20 08:58

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -1,16 +1,17 @@
1
1
  あなたが書いた`Sub Main()`には、「FrmSubのオブジェクトを生成してそれを実行する」に相当するコードが書かれていないため、実行すると何も表示されずに終了します。
2
2
 
3
- VB.NETで作成するWinFormアプリケーションでは、フォームがひとつだけの場合に、(わざわざ`Sub Main()`を書かなくても)実行できるような仕組みが導入されており、あなたが視聴した講座で`Sub Main()`を追加するなどの説明がなかったのはそのためでしょう。
3
+ VB.NETで作成するWinFormアプリケーションでは、フォームがひとつだけの場合に、(わざわざ`Sub Main()`を書かなくても)実行できるような仕組みが導入されており、~~あなたが視聴した講座で`Sub Main()`を追加するなどの説明がなかったのはそのためでしょう。~~「Windowsフォームアプリケーション」を選択して作成したプロジェクトではそこらへんが設定済みの状態でコードを書き始められます。
4
4
 
5
- して、
5
+ かし、あなたが視聴した講座では、なぜか「空のプロジェクト」を選択して、後からフォームを追加しています。すると、かならず、
6
6
 
7
7
  > エラー一覧を見たら「Sub Mainが'(サンプルコードのプロジェクト名)'に見つかりませんでした」
8
8
 
9
- 出た時点ででに、そ仕組みが動いていないことがわかりま原因としては、
9
+ いうエラーが発生しま。こ問題をフォローしていないのは、**その講座の手抜きにほりません**
10
10
 
11
- - 2つめ以降のフォームをあなたが追加
11
+ 原因ははっきりていて、
12
- - プロジェクトのプロパティのスタートアップフォームの設定をあなたが変更した
13
12
 
14
- など考えらますが、質問に書かれていないため、正確な原因はわかりません。
13
+ - プロジェクトのプロパティのスタートアップフォーム設定されていない
15
14
 
15
+ ことです。
16
+
16
- 対策としては、`Sub Main()`を自分で書くよりも、プロジェクトのプロパティを開いて、「スタートアップフォーム」を`FrmSub`に設定するほうが簡単ですね。すると、指定されたフォームのコードに`Sub Main()`に相当するコードが自動的に挿入され、指定されたフォームを生成して実行するコードその中で実行されます。
17
+ 対策としては、`Sub Main()`を自分で書くよりも、ソリューションエクスプローラーのリストから、プロジェクトのプロパティを開いて、「スタートアップフォーム」を`FrmSub`に設定するほうが簡単ですね。すると、実行する際にFrmSubのコードに`Sub Main()`に相当するコード(FrmSubを生成して実行)自動的に挿入されます。

1

誤字を修正

2020/09/20 08:58

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -1,4 +1,4 @@
1
- あなたが書いた`Sub Main()`には、「Form1のオブジェクトを生成してそれを実行する」に相当するコードが書かれていないため、実行すると何も表示されずに終了します。
1
+ あなたが書いた`Sub Main()`には、「FrmSubのオブジェクトを生成してそれを実行する」に相当するコードが書かれていないため、実行すると何も表示されずに終了します。
2
2
 
3
3
  VB.NETで作成するWinFormアプリケーションでは、フォームがひとつだけの場合に、(わざわざ`Sub Main()`を書かなくても)実行できるような仕組みが導入されており、あなたが視聴した講座で`Sub Main()`を追加するなどの説明がなかったのはそのためでしょう。
4
4
 
@@ -13,4 +13,4 @@
13
13
 
14
14
  などが考えられますが、質問に書かれていないため、正確な原因はわかりません。
15
15
 
16
- 対策としては、`Sub Main()`を自分で書くよりも、プロジェクトのプロパティを開いて、「スタートアップフォーム」を`Form1`に設定するほうが簡単ですね。すると、指定されたフォームのコードに`Sub Main()`に相当するコードが自動的に挿入され、指定されたフォームを生成して実行するコードがその中で実行されます。
16
+ 対策としては、`Sub Main()`を自分で書くよりも、プロジェクトのプロパティを開いて、「スタートアップフォーム」を`FrmSub`に設定するほうが簡単ですね。すると、指定されたフォームのコードに`Sub Main()`に相当するコードが自動的に挿入され、指定されたフォームを生成して実行するコードがその中で実行されます。