1

Microsoft Visual C#2010を使用してWindowsフォームアプリケーションを開発しています。VisualStudioGUIを使用して作成した2つのフォームがあります。ボタンクリックイベントで次のフォームに切り替えたいのですthis.hide()が、次のフォーム名の後にドットを入力すると、show()メソッドが表示されません。 showメソッドは使用できないようです。動的に作成されていないため、新しいフォームを表示するにはどうすればよいですか?動的に作成するときにVisualStudioGUIを使用して既に作成しています

Form myform = new Form();

よりも

myform.show();

show関数は存在しますが、私の場合は存在しません

何が問題なのか教えてください

4

3 に答える 3

9

Form2のオブジェクトを作成し、Form2のインスタンスでshowメソッドを呼び出す必要があります

Form2 form = new Form2();
form.Show();

編集:質問を編集してパーツを追加したのでForm myform = new Form();。実際には、基本クラスのインスタンスを作成していますFormFormクラスを継承するフォームのインスタンスを作成する必要があります。

public partial class Form2 : Form

この場合、Form2クラスのインスタンスを作成する必要があります。ただし、myFormにはShowメソッドが必要です。System.Windows.Forms;ステートメントを使用していて、Formクラスがからのものであるかどうかを確認してくださいSystem.Windows.Forms;。試す

System.Windows.Forms.Form myform = new Form(); //Although this is wrong but it should have show method
myform.Show();
于 2012-06-13T05:39:03.750 に答える
4

2 番目のフォームのオブジェクトを作成し、Show()メソッドを呼び出します

SecondForm frmsecond = new SecondForm();
frmsecond.Show();

Form myform = new Form();Form クラスのオブジェクトとして myform を作成しようとしているため、ここでは必要ありません

于 2012-06-13T05:59:15.223 に答える
1

まあ..「2つのフォームがあり(動的に作成していない)、クリックイベントで1つから別のフォームに切り替えたい」ですね。

たとえば、VS GUI を使用して Form1 と Form2 という 2 つのフォームを作成したとします。そして、あなたが何かをするのが好きなら

Form2.Show();

それならできません。アプリケーションのエントリ ポイントを確認しましたか。アプリケーションの Main() メソッド (ほとんどの場合、'Program.cs' にあります)。Form1 を静的に作成しましたが、

  Application.Run(new Form1);

あなたは今それを手に入れました。「型」は使えません。変数を使用する必要があります。そのため、2 番目のフォームのインスタンスを作成して表示するだけです。

Form2 form=new Form2();
form.Show();
于 2012-06-13T06:14:37.843 に答える