0

Sharpdevelopに質問したい。SharpDevelopでコントロールのイベント名を変更できますか?VisualStudioのように「_」を追加したい。たとえば、SharpDevelopのボタンクリックイベントはデフォルトでButton1Clickに設定されています。VisualStudioのようにButton1_Clickに変更できますか?ありがとう。

4

4 に答える 4

2

Mike Webb の回答は、SharpDevelop のソース コードを変更せずにアンダースコア付きのイベント ハンドラー メソッド名を生成する唯一の方法です。

Lex Liの答えも正しいです。SharpDevelop には、アンダースコアを使用するイベント ハンドラー メソッド名の自動生成を有効にするオプションはありません。現時点で唯一の方法は、ソース コードを変更することです。これはかなり単純なコード変更です。

  1. SharpDevelopのソースをダウンロードします。

  2. コードを抽出します。

  3. EventBindingService クラスを見つけます (src\AddIns\DisplayBindings\FormsDesigner\Project\Src\Services\EventBindingService.cs)

  4. CreateUniqueMethodName メソッドを見つけます。

  5. このメソッドの 1 行のコードを変更して、文字列形式でアンダースコアを使用します。

    return String.Format("{0}_{1}", Char.ToUpper(component.Site.Name[0]) + component.Site.Name.Substring(1), e.DisplayName);
    
  6. src\DebugBuild.bat または src\ReleaseBuild.bat を実行して、ソース コードから SharpDevelop をビルドします。

次に、カスタマイズされたバージョンの SharpDevelop を使用してフォーム デザイナーでボタンをダブルクリックすると、たとえば、「Button1_Click」のような名前のイベント ハンドラーが取得されます。

将来のある時点で、SharpDevelop 4 は、[ツール] - [オプション] で選択できるオプションでこれを許可します。

于 2010-06-05T11:47:53.213 に答える
0

はい。デザインに入り、プロパティウィンドウでコントロールを確認すると、上部にいくつかのアイコンが表示されます。これらの1つは、イベントのリストを提供するはずです(VSではそれは稲妻です)。左側の列にはリンク可能なイベントがあり、右側の列にはイベントがトリガーされたときに呼び出される関数があります。

左側のフィールドの名前を変更し、コード内で関数の名前が正しく設定されていることを確認してください。左側のフィールドに名前を入力し、その中をダブルクリックして、関数を自動的に生成することもできます。

于 2010-06-04T18:32:40.800 に答える
0

これが古いスレッドであることは知っていますが、SharpDevelop v4.3 (v4.x - v5.x) にはこれに対する解決策があります。以前は上記の方法を使用する必要がありましたが、これははるかに高速で簡単です。

SharpDevelop を起動し、次の設定を確認します。

[ツール] > [オプション] > [Windows フォーム デザイナー] > [全般] > [ Visual Studio スタイルのイベント ハンドラーを生成する]

于 2013-04-12T08:29:40.367 に答える
0

アンダースコアは、私のような一部の人々にとっては悪です:)

アンダースコアが必要な場合は、SharpDevelop ソース コードを調べて、その部分を見つけて変更します。オープンソースなので、好きなことを何でもできます。どこかに利用可能な設定が見当たらなかったので、ソースコードを変更することがあなたの目標を達成する唯一の方法のようです.

于 2010-06-05T01:00:55.673 に答える