2009-01-14 88 views
3

是否有快捷方式爲控件添加事件方法?如果我有一個按鈕,我想添加Click方法而不必輸入或切換到設計視圖。編輯: 認真!當我在VB中做到這一點時,我有一個所有控件及其事件的下拉列表。對C#來說這麼難嗎? 創建控件快捷方式的事件方法 - Visual Studio

回答

8

Winforms? Web表單?什麼?

一個選項是(初始化後)掛鉤事件你的自我 - 智能感知提供了事件的名稱,[TAB] [Tab]鍵創建方法存根 - 即

public MyForm() 
{ 
    InitializeComponent() 
    someButton.Click += (press [tab][tab] now) 
} 

並沒有休息。 ..也可以在適當的地方以網頁形式。

這給了你:

public MyForm() 
{ 
    InitializeComponent(); 
    someButton.Click += new EventHandler(someButton_Click); 
} 

void someButton_Click(object sender, EventArgs e) 
{ 
    throw new NotImplementedException(); // your code here ;-p 
} 
1
public partial class MyUserControl : System.Web.UI.UserControl 
{ 

public delegate void ButtonClickEventHandler(object sender,EventArgs e); 
public Event ButtonClickEventHandler Button_Click; 

protected void btnLogin_Click(object sender, EventArgs e) 
     { 
      if (Button_Click!= null) 
       Button_Click(sender,e); 
     } 
} 

Default.aspx的

protected override void OnInit(EventArgs e) 
     { 
      base.OnInit(e); 
      MyUserControl.Button_Click+= MyUserControl_Button_Click; 
     } 

void MyUserControl_Button_Click(object sender,EventArgs e) 
     { } 
3

你看着創建一個片段?這是我用來創建匿名方法的一個片段,它可以連接到一個事件。

<?xml version="1.0" encoding="utf-8" ?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
     <Header> 
      <Title>anonymous</Title> 
      <Shortcut>__anonymous</Shortcut> 
      <Description>Code snippet for an anonymous method</Description> 
      <Author>Andrew</Author> 
      <SnippetTypes> 
       <SnippetType>Expansion</SnippetType> 
      </SnippetTypes> 
     </Header> 
     <Snippet> 
      <Declarations> 
       <Literal> 
        <ID>event</ID> 
        <Default>base.Init</Default> 
        <ToolTip>Event to attach</ToolTip> 
       </Literal> 
       <Literal> 
        <ID>args</ID> 
        <Default>EventArgs</Default> 
        <ToolTip>Event argument type</ToolTip> 
       </Literal> 
       <Literal> 
        <ID>name</ID> 
        <Default>args</Default> 
        <ToolTip>Event arg instance name</ToolTip> 
       </Literal> 
      </Declarations> 
      <Code Language="csharp"><![CDATA[$event$ += delegate(Object sender, $args$ $name$) { 
       $end$ 
      };]]> 
      </Code> 
     </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 

而且here is an article解釋如何創建它們以及它們如何工作。

+0

它看起來很棒,我會盡快嘗試。 感謝您的信息 – 2009-01-14 13:41:40

相關問題