0

次のMSDNの手順に従って、カスタマイズされたWindowsフォームコントロールを作成しようとしています:http: //msdn.microsoft.com/en-us/library/7h62478z.aspx

(記事のタイトル:方法:既存のWindowsフォームコントロールから継承します。手順はVisual Studio 2010用です)

これらの手順は機能しているように見えますが、コントロールの名前をCustomControl1から他の名前に変更すると(クラス名とコンストラクター名を変更して)、次のメッセージが表示されます。

「名前'InitializeComponent'は現在のコンテキストに存在しません」

私はここで同様の質問と回答を見てきましたが、どれもこれに答えるとは思いませんが、私は間違っている可能性があります。もしそうなら、私は答えを理解していませんでした。

誰かがこれについて私を助けてくれることを願っています。私はすでにそれに多くの時間を無駄にしてきました。

ありがとう。

4

2 に答える 2

0

クラス名を変更すると、新しいクラス名の下に赤い線が表示されます。

小さなボックスが表示されるまでその上にカーソルを置き、そのボックスをクリックしてから、[名前の変更...] をクリックします。(これへのショートカットは次Ctrl+.のとおりです: <-それはピリオド キーです。)

それで全部です。

エラーの理由は、InitializeComponentメソッドが古いクラス名の別のファイルにあるためです。上記のように [名前の変更...] を選択すると、Visual Studio はそのファイル内のクラスの名前も変更します。また、コンストラクタの名前も変更します。

于 2012-07-22T12:13:33.293 に答える
0

この質問を投稿してから数分後、私は答えを見つけました。Visual Studio の経験がある程度ある人なら答えは明らかだと思いますが、私にはそうではなかったので、誰かがたまたまこれを読んだら時間を節約できるかもしれません。

質問で提供されたリンクの MSDN の指示に従って作成された、新しく作成されたカスタム コントロールの名前を変更するには:

  • 生成されたソース ファイルの名前を CustomControl1.cs (C# の場合) から目的の名前に変更します。
  • すべての参照を変更するかどうかを Visual Studio から尋ねられたら、はいと言います。

それでおしまい。カスタム コントロール名が変更され、エラーはなくなりました。

于 2012-07-22T02:50:16.213 に答える