views:

104

answers:

3

Hi all, i want to ask abt Sharpdevelop. Can i change the control's event name in sharpdevelop ? I want to add "_" like in visual studio. For Example, button click event in Sharp develop defaulted to Button1Click. can i change to Button1_Click like in visualstudio ? Thanks.

A: 

Yes. If you go into design and look in the properties window for the control you will see a few icons at the top. One of these should give you the list of events (in VS it is a lightning bolt). In the left hand column are the linkable events and in the right hand column are the functions that are called when the events are triggered.

Simply rename the left hand field and make sure you have the function named correctly in code as well. You can also type a name into the left hand field and then double click inside it to generate the function automatically.

Mike Webb
so there is no other way we can set automatic put underscore between control name and the event name ? Thanks for the response.
ieie
A: 

The underscore is evil to some people, like me :)

Well, if you do want the underscore, check out SharpDevelop source code and locate that part and modify it. It is open source, so you can do whatever you like to please yourself. I did not see a setting available somewhere, so modify the source code seems to be the only way to achieve your goal.

Lex Li
+2  A: 

Mike Webb's answer is the only way to generate an event handler method name with an underscore without modifying SharpDevelop's source code.

Lex Li's answer is also correct. There is no option in SharpDevelop to enable automatic generation of event handler method names that use an underscore. The only way currently is to modify the source code. It is a fairly straightforward code change.

  1. Download the source for SharpDevelop.
  2. Extract the code.
  3. Locate the EventBindingService class (src\AddIns\DisplayBindings\FormsDesigner\Project\Src\Services\EventBindingService.cs)
  4. Locate the CreateUniqueMethodName method.
  5. Modify the single line of code in this method to use an underscore in the string format:

    return String.Format("{0}_{1}", Char.ToUpper(component.Site.Name[0]) + component.Site.Name.Substring(1), e.DisplayName);
    
  6. Build SharpDevelop from source code by running src\DebugBuild.bat or src\ReleaseBuild.bat

Then when you use your customised version of SharpDevelop and double click a button in the forms designer, for example, you will get an event handler with a name like "Button1_Click".

At some point in the future SharpDevelop 4 will allow this with an option that can be selected in Tools - Options.

Matt Ward
In SharpDevelop 4 there is now an option to generate Visual Studio style event handlers. This option can be found by selecting Tools | Options | Windows Forms Designer | General.
Matt Ward