DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C# Formの呼び出し

環境/言語:[環境(XP) 使用言語(C#)]
分類:[.NET]

はじめまして taye Aと申します。
みなさんご教授して下さい。

現在、ComFom(Form)に構造体を宣言しSetForm(Form)から構造体にデータを設定および取得できるようにして納品していました。
ここまでは問題が無かったのですが、客先からの要望でFormが3つ追加になってしまいました。
追加になったForm(仮にAForm、BForm、CForm)からSetFormやComFormを表示するにはどうすればいいのでしょうか?
下記のコードではビルドでエラーがでます。

エラー内容
引数を'0'個指定できるメソッド'フォーム名’のオーバーロードはありません。

呼び出しコード
SetForm frmSF = new SetForm();
frmSF.Show();

よろしくお願いします。
■No2965に返信(type Aさんの記事)
> はじめまして taye Aと申します。
> みなさんご教授して下さい。
>
> 現在、ComFom(Form)に構造体を宣言しSetForm(Form)から構造体にデータを設定および取得できるようにして納品していました。
> ここまでは問題が無かったのですが、客先からの要望でFormが3つ追加になってしまいました。
> 追加になったForm(仮にAForm、BForm、CForm)からSetFormやComFormを表示するにはどうすればいいのでしょうか?
> 下記のコードではビルドでエラーがでます。
>
> エラー内容
> 引数を'0'個指定できるメソッド'フォーム名’のオーバーロードはありません。
>
> 呼び出しコード
> SetForm frmSF = new SetForm();
> frmSF.Show();
>
> よろしくお願いします。

コンストラクタでちゃんと値が渡されているでしょうか?なにか、渡すべき値はないですか?
■No2966に返信(りょうさんの記事)
> ■No2965に返信(type Aさんの記事)
>>はじめまして taye Aと申します。
>>みなさんご教授して下さい。
>>
>>現在、ComFom(Form)に構造体を宣言しSetForm(Form)から構造体にデータを設定および取得できるようにして納品していました。
>>ここまでは問題が無かったのですが、客先からの要望でFormが3つ追加になってしまいました。
>>追加になったForm(仮にAForm、BForm、CForm)からSetFormやComFormを表示するにはどうすればいいのでしょうか?
>>下記のコードではビルドでエラーがでます。
>>
>>エラー内容
>>引数を'0'個指定できるメソッド'フォーム名’のオーバーロードはありません。
>>
>>呼び出しコード
>>SetForm frmSF = new SetForm();
>>frmSF.Show();
>>
>>よろしくお願いします。
>
> コンストラクタでちゃんと値が渡されているでしょうか?なにか、渡すべき値はないですか?

渡すべき値は何もないんですが...

>>コンストラクタでちゃんと値が渡されているでしょうか?なにか、渡すべき値はないですか?

すいません。SetFormのコンストラクタで下記のように記述しています
public SetForm(ComForm frmCF)
{
InitializeComponent();
_frmCF = frmCF;
}

この時にはどう呼び出せば良いのですか?
  • 題名: Re[4]: C# Formの呼び出し
  • 著者: りょう
  • 日時: 2004/03/11 11:48:37
  • ID: 2975
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No2969に返信(type Aさんの記事)
>
> >>コンストラクタでちゃんと値が渡されているでしょうか?なにか、渡すべき値はないですか?
>
> すいません。SetFormのコンストラクタで下記のように記述しています
> public SetForm(ComForm frmCF)
> {
> InitializeComponent();
> _frmCF = frmCF;
> }
>
> この時にはどう呼び出せば良いのですか?
>

やはりですね。ちゃんとComFormを渡しましょう。
次のようにすればいいと思います。
SetForm frmSF = new SetForm(new ComForm());
これでどうでしょう。
■No2969に返信(type Aさんの記事)
>
> >>コンストラクタでちゃんと値が渡されているでしょうか?なにか、渡すべき値はないですか?
>
> すいません。SetFormのコンストラクタで下記のように記述しています
> public SetForm(ComForm frmCF)
> {
> InitializeComponent();
> _frmCF = frmCF;
> }
>
> この時にはどう呼び出せば良いのですか?
>

あとひとつ追加事項が、frmCF = frmCFとありますが、
左オペランドのfrmCFはフィールドですよね、右オペランドのfrmCFはパラメータ
ですよね。このような場合は、きっとエラーが発生してしまうと思うのですが・・
どうでしょう?名前が競合してしまうと思います。
僕はフィールドの場合には _ をつけた後にデータ形をつけて、それから
変数名を足しています。ローカル変数には気を使っていません。
ハンガリー記法について調べてみはいかがですか?
  • 題名: Re[5]: C# Formの呼び出し
  • 著者: type A
  • 日時: 2004/03/11 14:53:37
  • ID: 2980
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
> 次のようにすればいいと思います。
> SetForm frmSF = new SetForm(new ComForm());
上手く書込及び読込ができました。
ありがとうございました。

> あとひとつ追加事項が、frmCF = frmCFとありますが、
> 左オペランドのfrmCFはフィールドですよね、右オペランドのfrmCFはパラメータ
> ですよね。このような場合は、きっとエラーが発生してしまうと思うのですが・・
> どうでしょう?名前が競合してしまうと思います。
ここに書いてるソースも僕もソースも_frmCF = frmCFになってますよ。
見えにくかったかな? すいません。

試しに_無しでやってみましたがりょうさんの言われるとおりエラーになります。

ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板