• 締切済み

C# フォームのShow()のオーバーライド

ご質問があります。 フォームが二つ(フォームA、フォームB)あり、フォームAからフォームBを開く時に、フォームBにコードを渡す必要があり、フォームBのShow()をオーバーライドさせて(Show()に引数を設定し、引数でコードを渡し、フォームBの変数にコードをセットして使用する)、コードを使用します。 このShow()のオーバーライドのさせ方なのですが、以下ではエラーが出てしまいました。 public partial class FormB : Form { private string hacyucode; public FormB() { InitializeComponent(); } override void Show(string code) { hacyucode = code; } } ※「オーバーライドする適切なメソッドが見つかりませんでした。」というエラーが出てしまいます。 Show()の適切なオーバーライドの方法をご教授していただけませんでしょうか。 よろしくお願い致します。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

引数が違う同じ働きをするメソッドならば『オーバーロード』で定義すればいいのではないかと思います 単純に public void Show( string code ) {   // 基本クラスのShowメソッドを呼ぶ   base.Show();   hacyucode = code; } といった具合にしてやればいいでしょう アクセス指定子の『public』が無いと『private』になってしまうので気おつけましょう また、override を使うには基本クラスで virtual(仮想関数またはメソッド) になっている必要があると思います …

すると、全ての回答が全文表示されます。

関連するQ&A