3

私はC#から始めて、簡単な画像ビューアを作成する方法についてこのチュートリアルを実行しました。

http://msdn.microsoft.com/en-us/library/dd492135.aspx

いくつかのボタン、画像表示領域、およびチェックボックスを使用して作成します。

フォームを作成していくつかのボタンを追加すると、デバッガーを実行してアプリケーションを表示し、何もしなかったボタンをクリックすることができました。

ボタンクリックなどのイベントのメソッドを作成するには、ショートカットとしてフォームデザインのボタンをダブルクリックできるようです。

ただし、メソッドを削除して実行することはできません。たとえば、privatevoidpictureBox1_Clickを作成しました。ただし、画像をクリックしたときに何もするためのフォームは必要ありません。そのメソッドを削除したかったのです。ただし、次のようなエラーが発生します。

「'PictureViewer.Form1'には'pictureBox1_Click'の定義が含まれておらず、タイプ'PictureViewer.Form1'の最初の引数を受け入れる拡張メソッド'pictureBox1_Click'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)」

私は何が欠けていますか?picturesBoxをダブルクリックすると、その1つのメソッド以外に何か作成されたものはありますか?特に面倒なことではありませんが、誤って作成したものすべてについて、コードに空のメソッドを残さなければならないのは奇妙なことです。

簡単な2番目の質問ですが、追加するコントロールとコンテナーのコードはどこにありますか?プロパティウィンドウ以外にも、さまざまなプロパティを設定できる場所があると思います。

ご協力ありがとうございました!

4

3 に答える 3

3

フォームは、部分的なクラスとして2つのファイルに分散されます。バックグラウンドの「配線」コードはmyform.designer.csファイルにあり、コードはmyform.csファイルにあります。コードからハンドラーを削除しただけでは、ワイヤリングアップコードは引き続き存在し、コンパイルできなくなります。したがって、designer.csコードに移動して、そこから関連するコードを削除することもできますが、始めたばかりの場合はおそらくアドバイスされません。

適切な方法は、デザイナーUIで、ボタン(f4)のプロパティを確認し、トップバーの[イベント]ボタンをクリックすることです。どこかにイベントハンドラーが表示されます。イベントハンドラーを右クリックすると、「リセット」するオプションがあります。それをクリックすると、ワイヤーアップコードが削除されます。ハンドラーにコードが含まれていない場合は、それも削除されると思います(winfomがないので、目の前にプロジェクトがあるので、はっきりとは言えません)。

于 2012-08-28T14:04:07.060 に答える
2

ソリューションエクスプローラーで「Form1」のノードを展開し、Designer.cs(Form1.Designer.cs)をダブルクリックします。まだpicturebox1クリックイベントへの参照があると思います。これを削除する必要があります。

とにかく、Designer.csは、フォームに追加するコントロール/コンテナーに関するすべての情報を保持しますが、「form1」の背後にある通常のコードで新しい値を作成することで、これを上書きできます。

于 2012-08-28T14:01:27.897 に答える
0

コードを実行し、エラー文字列を見つけます。explorelでプロジェクトパスを開き、メモ帳でyour_form.Designer.csデザイナーを開きます。ファイル内のエラー文字列を見つけて、それ(またはその要素のすべてのコード)を削除します。

于 2021-12-29T20:10:44.960 に答える