ここから本文です

C#初心者で、ゲーム開発のための勉強をしたいのですが、visual studio 2017の「Win...

rit********さん

2018/10/419:01:32

C#初心者で、ゲーム開発のための勉強をしたいのですが、visual studio 2017の「Windows フォームアプリケーション(.NET Framework)」で

using System.Windows.Forms;

public class Test
{
static void Main()
{
Application.Run(new Form());
}
}

を記述しても「'Form1.Dispose(bool)': オーバーライドする適切なメソッドが見つかりませんでした」とでてうまくいきません。なぜでしょうか。

閲覧数:
66
回答数:
1

違反報告

ベストアンサーに選ばれた回答

[コードの誤記]

誤記
Application.Run(new Form());

訂正後
Application.Run(new Form1());





=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o
=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o
[誤記が原因でない場合]
Testと言うクラスを自分で作っているので、空のプロジェクトから作っていると言うことでしょうか。
もしもそうでないとしても、下記では、空のプロジェクトで作成する方法を説明します。
そして、どこが不足していたかチェックして下さい。
(「空のプロジェクト」ではなく、別の何らかの方法であったとしても、下記で、どこが不足しているのかチェックは、行えるので)
なお、下記「方法1」は、手間がかかるので、面倒な場合は、方法2を行ないます。



=o=o=o=o=o=o=o=o=o=o=o=o
方法1. テンプレート[空のプロジェクト]で、プロジェクトを作成する場合
=o=o=o=o=o=o=o=o=o=o=o=o


[プロジェクトの作成]
1.
メニューの[ファイル] - [新規作成] - [プロジェクト]で、「新しいプロジェクト」画面を表示する。

2.
「新しいプロジェクト」画面のテンプレートで、[空のプロジェクト]を選択する。

3.
「新しいプロジェクト」画面の[プロジェクト名]に Project1(別の任意の名前でも可)を入力し、[ OK ]ボタンをクリックする。





[メインルーチン用のTestクラスを書くファイルを作成]

1.
メニューの[プロジェクト] - [新しい項目の追加]で、「新しい項目の追加」画面を表示する。

2.
「新しい項目の追加」画面のテンプレートで、[クラス]を選択する。

3.
「新しい項目の追加」画面の[ファイル名]に Test.cs(別の任意の名前でも可)を入力し、[ 追加 ]ボタンをクリックする。





[フォーム用のForm1クラスを書くファイルを作成]

1.
メニューの[プロジェクト] - [新しい項目の追加]で、「新しい項目の追加」画面を表示する。

2.
「新しい項目の追加」画面のテンプレートで、[クラス]を選択する。

3.
「新しい項目の追加」画面の[ファイル名]に Form1.cs(別の任意の名前でも可)を入力し、[ 追加 ]ボタンをクリックする。





[フォーム用のアセンブリ参照の追加]

上記までに作成したプロジェクトには、フォームを成り立たせる基本機能が組み込まれていません。
以下の方法で、基本機能を組み込んで下さい。

1.
メニューの[プロジェクト] - [参照の追加]で、「参照の追加」画面を表示する。

2.
「参照の追加」画面で、[ .NET ]タブを選択する。

3.
「参照の追加」画面の「 .NET 」タブで、System.Windows.Forms を選択し、[ OK ]ボタンをクリックする。





[メインルーチン定義用ファイルにコードを記述]
前述の「メインルーチン用のTestクラスを書くファイルを作成」で作成したファイルに、以下のコードを記述します。
なお、下記の___は、タブです。

using System;
using System.Collections.Generic;
using System.Text;

namespace Project1
{
___static class Test
___{
______static void Main()
______{
_________System.Windows.Forms.Application.Run(new Form1());
______}
___}
}





[フォーム定義用ファイルにコードを記述]
前述の「フォーム用のForm1クラスを書くファイルを作成」で作成したファイルに、以下のコードを記述します。
なお、下記の___は、タブです。

using System;
using System.Collections.Generic;
using System.Text;

namespace Project1
{
___class Form1 : System.Windows.Forms.Form
___{
___}
}





[メインルーチンの登録]
メインルーチンをどこに記述したのか登録する必要があります。
また、コンソールアプリケーションソフトではなく、Windows フォームアプリケーションソフトであることを登録する必要があります。
以下の方法で、登録して下さい。

1.
メニューの[プロジェクト] - [< プロジェクト名 >のプロパティ]で、「 < プロジェクト名 > のプロパティ」画面を表示する。
(注意: 上記の < プロジェクト名 > は、「プロジェクトの作成」で名付けたプロジェクト名です)

2.
「 < プロジェクト名 > のプロパティ」画面で、[ アプリケーション ]タブを選択する。

3.
「 < プロジェクト名 > のプロパティ」画面の「 アプリケーション 」タブの「出力の種類」で、Windows アプリケーション を選択する。

4.
「 < プロジェクト名 > のプロパティ」画面の「 アプリケーション 」タブの「スタートアップ オブジェクト」で、Project1.Test を選択する。
(注意: 上記の Project1.Test は、前述の「メインルーチン定義用ファイルにコードを記述」で記述したメインルーチン定義用クラス名です)





=o=o=o=o=o=o=o=o=o=o=o=o
方法2. テンプレート[Windows フォームアプリケーション]で、プロジェクトを作成する場合
=o=o=o=o=o=o=o=o=o=o=o=o


[プロジェクトの作成]
1.
メニューの[ファイル] - [新規作成] - [プロジェクト]で、「新しいプロジェクト」画面を表示する。

2.
「新しいプロジェクト」画面のテンプレートで、[Windows フォームアプリケーション]を選択する。

3.
「新しいプロジェクト」画面の[プロジェクト名]に WindowsFormsApplication1(別の任意の名前でも可)を入力し、[ OK ]ボタンをクリックする。



[その他の処理]
方法1でのファイルの作成や、基本コードの記述は、自動的に行われるので、特に操作は必要ありません。

  • 質問者

    rit********さん

    2018/10/718:53:09

    回答ありがとうございます。

    方法1を試したみたところ
    両ファイルで、Sysytem.Windows.Forms を参照したのですが、「Form1.cs」と「Test.cs」で「型または名前空間の名前'Windows'が名前空間'System'に存在しません(アセンブリ参照があることを確認してください)。」と出ました。



    また、方法2を試してみたことろ

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApp1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }
    }
    }

    と自動生成されたコードが出ました。

  • その他の返信を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる