c#でのプログラムについて

このQ&Aのポイント
  • c#初心者のため、フォーム(Form1)を表示させるプログラムについて詳しく教えてください
  • c#初心者のため、コードファイル(CodeFile1.cs)からフォーム(Form1)を表示させるプログラムがうまく動作しません。解決策を教えてください
  • c#初心者のため、フォーム(Form1)を表示させるための必要なコードや参照を教えてください
回答を見る
  • ベストアンサー

c#でのプログラムについて

c#でのプログラムについて お世話になります。 c#初心者です。今までエクセルVBAでの簡単なプログラム経験があります。 コードファイル(CodeFile1.cs)からフォーム(Form1)を表示させるプログラム(初歩) ですでにいきづまっています。 ネットで見つけた、 「Form1 Form = new Form1();  Form.Show();」 と記述しましたら、下にあるエラー一覧で 「型または名前空間名'Form1が見つかりませんでした。usingディレクティブまたはアセンブリ  参照が不足しています。」と出ています。 なので、コードファイル(CodeFile1.cs)の上の方に 「using System.Windows.Form;」 と追加したのですが、まだエラー内容に変わりはありませんでした。 どうすればフォーム(Form1)を表示させるプログラムが出来るか どなたか、お教え頂きたく宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

Form1 Form = new Form1(); ではなく Form Form1 = new Form(); としてください。

miruchoko
質問者

お礼

ありがとうございます。 参考になりました。

その他の回答 (1)

回答No.2

slnファイルとcsファイルとか一式アップロードしてくれれば見てみる

miruchoko
質問者

お礼

お心遣いありがとうございます。 解決できました。 が、別の疑問が湧いてきましたのでそれは 別で質問させて頂こうと思います。 ありがとうございました。

関連するQ&A

  • C#でほかのファイルにある自作クラスを使用したい場合

    最近Javaから移ってきたばかりのC#初心者です。 依然作ったことのあるほかのファイルにある自作クラスを 新しいファイルの自作クラスで使用したい場合、どうすれば よいのでしょうか。 Form1.cs(8,7): error CS0246: 型または名前空間名 'Calc1' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 Form1.cs(12,19): error CS0246: 型または名前空間名 'Calc' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 上記のようなエラーが発生してしまいます。 なにとぞご助力をお願いいたします。

  • C# フォームを閉じてもプログラムが終了しない

    前略 ・C#の初心者です。 ・下記のようなプログラムを作りたいと思っています。プログラムは<作りたいプログラム>の仕様どうりに動作していますが、Form1のFormClosingイベントに Application.Exit()を追加しないと フォーム1で "X"(閉じる)をクリックしても(フォームは非表示になりますが)プログラムが終了しません。プログラムでどこかおかしな部分があると思っています。Application.Exit()を追加しないでもプログラムを終了する方法を教えてください。 <作りたいプログラム> (1)Form1 のbutton1をクリックすると新しいForm2が作成され表示される。Form2が表示されるとForm1は非表示となる。 (2)Form2 のbutton1をクリックするとForm2が非表示となりForm1が表示される。 (3)Form1 の "X"(閉じる)をクリックしてプログラムを終了する。 //Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace formClose { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Show(); //フォーム2を表示 this.Hide(); //フォーム1を非表示 } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { Application.Exit(); //アプリケーション終了 } } } //Form2.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace formClose { public partial class Form2 : Form { Form1 form1 = new Form1(); public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { this.Close(); //フォーム2を閉じる } private void Form2_FormClosing(object sender, FormClosingEventArgs e) { form1.Show(); //フォーム1を表示する } } } 以上

  • C#プログラムにて

    C#プログラムにて お世話になります。 C#初心者です。 プログラムコードを書き始めで、早速行き 詰っています。 ステップでコードの動きを確認したところ、 program.csのMainから下記のForm1.csに 移りForm1のデザイナが表示されるのですが、 button3を押してもForm3が表れません。 また、ステップの黄色いカーソルと言いますか ステップの位置情報も消えています。 何がどう悪いのか分からなく困っています。 どなたかご親切な方、ご教授頂きたく 宜しくお願い致します。     記 using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { Form3 cForm3 = new Form3(); cForm3.ShowDialog(); } private void button2_Click(object sender, EventArgs e) { DialogResult ans; ans = MessageBox.Show("最新のコード表を照会しますか?", "Microsoft Visual Studio", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (ans == DialogResult.OK) Application.Exit(); } private void button12_Click(object sender, EventArgs e) { Form4 cForm4 = new Form4(); cForm4.ShowDialog(); } } }

  • C# usingの必要性について

    C#について質問させてください。 サブディレクトリにあるcsファイルに記述されているクラスを参照する場合、usingディレクティブでサブディレクトリ名を宣言しないとクラス名のみでの宣言はできませんか? ちょっと伝わりにくいかと思うので、具体例を記載します。 プロジェクト直下にmain.csというファイルとSubというディレクトリがあり、Subディレクトリにsub.csというファイルがあるとします。 main.csのmainメソッドの中でSub s = new Sub();のような記述をしたい場合、using Sub;という記載は(名前空間の解決のために)必要ですか? 私は必要と考えているのですが、usingディレクティブがなくても参照できているコードがありましたので、疑問に思い質問させて頂きました。

  • VisualStudio2003 リビルドできない

    VisualStudio2003初心者です。 会社で使用しているC#プログラムに修正の必要が出ており、そのプログラムを作成した担当が既に退社し連絡がつかないため、自分が手探りながらトライしています。 プログラムは、メニューにあたるexeファイル(TUmenu.exe)を起動し、そこから業務毎のexeファイル(TU0201.exe等)を起動させていく....という仕組みです。 通常使用するexeファイルとは別に、担当がソースファイルを残しており、slnファイルやcsファイルなどが業務ごとに存在していましたので、そのcsファイルのコードを編集→slnファイルでビルドし、exeファイルを古いものと差し替えようと考えています。 csファイルのコードは編集が完了しており、あとは編集した内容を適用したexeファイルを作るだけなのですが、slnファイルを開き、ビルド時にエラーが複数出て完了できません。 フォルダ階層について: 少し分かりにくいですが、ソースフォルダとして一まとめになっているフォルダの中身を書いておきます。 (1)ソースという名前のフォルダ→(2)TUmenuやTU0101やTU0201やLIBなど、業務毎に名前の付いたフォルダ→(3)例えばTU0101のフォルダ内には、TU0101.csやTU0101.sln等の部品ファイル というようになっています。 エラー詳細: エラー(警告)は約50出ているのですが、3種類に分かれます。 「参照コンポーネント '□□' が見つかりませんでした。」 「型または名前空間名 '○○'が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」 「型または名前空間名 '△△'は名前空間 '××'に存在しません。アセンブリ参照が不足しています。」 の3パターンです。 「参照コンポーネント '□□' が見つかりませんでした。」のパターンでは、例えばTUCONTLというコンポーネントが見つかりませんというメッセージが出ていますが、このTUCONTLという名前のフォルダが、 前述の(2)のLIBフォルダ下の階層に存在しており、その中にはTUCONTL.slnやTUCONTL.csなどが存在しています。なぜ見つからないのでしょうか? 「型または名前空間名 '○○'が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」のパターンでは、例えばAxTUtimpが見つかりませんでした...とのメッセージですが、これに似た名前のTUtimpフォルダが前述の(2)のLIBフォルダ下の階層に存在しています。 「型または名前空間名 'RTextbox'は名前空間 'TU'に存在しません。アセンブリ参照が不足しています。」のエラーが、ファイル「TU0305.cs」にて、11個出ています。 TU0305.csファイルを見てみると、やはりRTextboxという記述があり、参照が上手くいっていないようです。このRTextboxという名前のファイルが(2)のLIBフォルダ下の階層のTUCONTLフォルダ内にRTextbox.csというファイルで存在しています。 まとめますと、ビルドが出来ないエラーは、どれも参照不可からくるものと考えています。 また、参照できていないファイルは、どれも(2)のLIBフォルダ下にあるファイルであり、作業しているTU0101フォルダとは別のフォルダにあるファイルです。 エラーの根本的な原因は何でしょうか? また、例えば、それぞれの参照できていないファイルのアドレスを指定して、参照できるようにする事は可能なのでしょうか?

  • c#のプログラムについて。

    c#のプログラムについて。 お世話になります。 c#初心者です。 下記の様なコードを記述してますが、 「 Form1.Button1.Visible == false;」の部分で 「'WindowsFormApplication1.Form1'にButton1'の定義がありません。」 と言うエラーが出てしまいます。 どの様に定義して良いのかが分からず、悩んでいます。 どなたかお教え頂きたく宜しくお願い致します。        記 using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace WindowsFormsApplication3 { static class Program { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); string result = System.Environment.MachineName; if (result == "xxxxxxx") { Form1.Button1.Visible == false; } } } }

  • C#のargs[0].Successの記述

    if (System.Text.RegularExpressions. Regex.Match(line, args[0].Success)) の記述で, エラー 1 'string' に 'Success' の定義が含まれておらず、型 'string' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 といったコンパイルエラーが出るようなのですが、usingディレクティブで追加しないといけない記述とかあるのでしょうか? よろしくお願い致します。

  • c#プログラムについて

    c#プログラムについて お世話になります。 今までエクセルVBAのプログラム経験は少々ありますが、c#プログラムは初めてです。 分からない事だらけの状況なのですが。 Windowsフォームをいくつか作成しており、 また別でコードファイル(CordFile1.cs)を追加して、そこにエントリポイントである static void Main()を記述して展開させていこうと考えました。 そしてデバックしてみたら、エラー一覧で「~複数のエントリポイントが定義されています~」 と表示され、その時気が付いたのですがいつのまにかProgram.csが出来ており、その中に自然に、 static void Main()が記述されていました。 質問 1)Progarm.csやエントリポイントは自然に出来るものなのでしょうか。   (気付かない間に作成される様な事をしてしまっていたのでしょうか。) 2)また、気付かない内に出来ていたとはいえ、Program.csに自然にエントリポイントが   あるのであれば、そこにCordFile1.csで記述していたMain()の内容を移しましたら、   今度は新たなエラーが出る様になってしまいました。   「無効なトークン'('や('=='など)がクラス、構造体またはインターフェースのメンバ   宣言で使用されています。   Program.cs内に記述していく事は間違いなのでしょうか。 どなたかお教え頂きたく、宜しくお願い申し上げます。  

  • C#のコマンドラインの分割コンパイルと実行について

    コマンドラインでC#のプログラムをコンパイルと実行する方法 mainが1つでsubが1の場合は以下にある。 http://d.hatena.ne.jp/taka_2/20080124/p6 mainが1つでsubが2つの場合はコマンドはどうするか。 以下に使用したコマンドを示す csc /target:library sub1.cs csc /target:library sub2.cs csc /R:sub1.dll /R:sub2.dll main1.cs とすると error CS0246: 型または名前空間名 'sub1' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 のエラーメッセージが表示される。 わかっている方がおりましたら、教えて下さい。 以下にプログラムを示す。 //---------------------------------------------------------------------------- // mainファイルの内容 using System ; using System.Text; using System.IO; using sub1 ; // subの名前空間を指定(分割コンパイル用) using sub2 ; // subの名前空間を指定(分割コンパイル用) namespace main1 { class Program { static void Main(string[] args) { int a = 10 ; int b = 5 ; sub1.dfsub_cs1 df1 = new sub1.dfsub_cs1() ; // sub1のクラスを確保(分割コンパイル用) sub2.dfsub_cs2 df2 = new sub2.dfsub_cs2() ; // sub2のクラスを確保(分割コンパイル用) Console.Write("add {0,3:D} * {1,3:D} = {2,5:D}\n", a,b, df1.multiply( a, b) ); Console.Write("add {0,3:D} / {1,3:D} = {2,5:D}\n", a,b, df2.divide( a, b) ); return ; } } } //---------------------------------------------------------------------------- // sub1ファイルの内容 namespace sub1 { public class dfsub_cs1 { public int multiply(int a, int b ) { return a * b ; } } } //---------------------------------------------------------------------------- // sub2ファイルの内容 namespace sub2 { public class dfsub_cs2 { public int divide(int a, int b ) { return a / b ; } } }

  • c#のプログラムについて

    こんにちは、C#で簡易的なプログラムを作成中の者です。 txtIDとtxtPassに指定された言葉を正しく入力するとForm2へ 間違えるとエラーメッセージを出すようにしたいのですが、どうにもエラーがでます 現在このようなプログラムなのですが、 private void btn_Click(object sender, EventArgs e) { Form2 cForm2 = new Form2(); if (txtID == "user" && txtPass == "test") { //Form2へ移動する cForm2.Show(); //FrmLoginを非表示化する ((FrmLogin)sender).Hide(); } else { label1.text = "IDかパスワードに誤りがあります。再確認して下さい"; } } txtID == "user" txtPass == "test" label1.text この3つでエラーが出てしまいます。 何か文章が足りないのでしょうか?

専門家に質問してみよう