1

この質問は質問され、答えられたと思いますが、見つかりません。

Windows7コマンドに接続するためのシンプルなGUIを作成したかったのです。私は通常Wxを使用しますが、これはWindows専用のものであるため、これまで使用したことのないVisual C#2010Expressを使用して実際に高速に作成できるかどうかを確認することにしました。

物事は素晴らしいスタートを切りました。フォームを作成し、その上にいくつかのボタンやテキストボックスなどを配置して、[デバッグ]をクリックしました。それが出てきて、そのように実行されました。騒ぎも大騒ぎもありません。そこで、フォームを思いどおりにデザインし、コントロールの名前を「Button1」などから意味のある名前に変更しました。しかし、今では混乱しています。クリックしてみると、VC#にはForm1.csとForm1.Designer.csという2つのファイルが自動生成されていることがわかりました。後者には、関数とユーザークリックなどから生成されたイベントとの間のバインディングが含まれ、前者には、これらの関数のノーオペコードが含まれています。

問題は、名前がすべて元の「Button1」などであり、新しいものではなく、最初に実行した後に追加した新しいコントロールがまったく表示されないことです。

完成したフォームからすべてのものを新たに再生してほしい。方法?

4

1 に答える 1

0

内で何かを編集しない限り、おそらく実際の問題はありません。そのファイルをそのままにしておけば、問題なく動作するはずです。Form1.Designer.cs

ボタンをダブルクリックするか、イベントインターフェイスを使用してイベントハンドラーを作成するたびに、ハンドラーは次のパターンで作成されます。

ObjectName_EventName()

したがって、たとえば:

Button1_Click()

後でButton1の名前を変更しても、イベントハンドラーの名前も変更されません。ただし、Form1.Designer.csで何も編集しなかったとすると、適切なイベントに関連付けられたままになります。

Form1.Designer.csの内部を見ると(ただし、触れないでください!)、おそらく次のようなものが見つかります。

MyNewButtonName.Click += Button1_Click;

(エディターがイベントハンドラーを接続するために使用する正確な構文を思い出せません。原則として、新しいボタン名が古いハンドラー名に付加されているのを確認する必要があります)

于 2012-09-05T03:40:40.850 に答える