2012-12-22 3 views
0

이것은 VB.NET 매우 간단했다, 난 그냥 할 것C#의 KeyPress 이벤트?

Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress 
    If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Enter) Then 
     e.Handled = True 
     cmdOk.PerformClick() 
    End If 
End Sub 

내가하지 텍스트 상자 또는 일반적으로 양식, C#에서 해당하는 작업을 수행하는 방법을 알아낼 수 없습니다 다음과 같습니다. Form1.cs에서 드롭 다운 메뉴가있는 왼쪽 위의 이벤트에 대한 메서드를 생성하는 옵션이 없습니다 (예 : VB에서 Sub를 생성하는 방법). WindowsFormsApplication1.Form1 만 있으면됩니다.

+0

미래에는 Windows Forms과 관련된 질문 일 때 [tag : winforms] 태그를 사용하십시오. –

+0

감사합니다. – WillumMaguire

+0

Hans가 지적한대로 Windows 표준 접근 방식을 권하고 싶습니다. 또한 [CodeChanger] (http://codechanger.com/)를 사용하여 VB.Net을 C#으로 변환하거나 그 반대로 변환 할 수 있습니다. –

답변

8

먼저 텍스트 상자를 선택하십시오. 속성 창을보고 있는지 확인하십시오. 그렇지 않은 경우보기 메뉴를 사용하십시오. 번개 모양 아이콘을 클릭하고 KeyPress 이벤트를 찾습니다. 더블 클릭하십시오. 그런 다음이 유사합니다

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { 
     if (e.KeyChar == (char)Keys.Enter) { 
      e.Handled = true; 
      cmdOk.PerformClick(); 
     } 
    } 

이 사실 하나하지 VB.NET에, 그것을 할 수있는 올바른 방법이 아니다. 폼의 AcceptButton 속성을 cmdOk로 설정하면 코드를 작성할 필요가 없습니다. 이제 OK 버튼 주위에 무거운 테두리가 생기므로 사용자는 이것이 Enter 키를 누를 때 활성화되는 키임을 알게됩니다. 로컬 라이브러리에서 Winforms 프로그래밍에 대한 책을 선택하십시오. 이러한 것들은 시행 착오를 통해 추측하기 어렵습니다.

1

코드 예제를 찾을 수 있습니다 here

특정 이벤트에 대한 메서드를 자동으로 만들려면 컨트롤의 속성 창 위에 드롭 다운을 사용하십시오.

여기 VS가 없습니다.하지만 this youtube-video @ 0:40을보실 수 있습니다. VS 스크린 샷을 보시고 오른쪽 하단에 속성 창을보실 수 있습니다. 상단에는 이벤트 드롭 다운이 있습니다.

0

하는 속성, 당신은 이벤트의 목록을 볼 수 있습니다 더블 클릭 아이콘 이벤트 아이콘 nereast을 클릭하여 텍스트 상자를 열고 속성 창을 선택 '키를 누를 때'당신은 키의에 이벤트를 연결할 수 있습니다 양식 속성에

0

이벤트 코드에 의해 정의 된 이벤트. 또는 KeyFormcode를 기반으로 코드를 링크하십시오. 나는 이것을 VS # 2015에 C#으로 업데이트했습니다 :

using System; 
using System.Windows.Forms; 

namespace KeyDemoForm 
{ 
public partial class KeyDemoForm : Form 
{ 

    public KeyDemoForm() 
    { 
     InitializeComponent(); 
    } 

    public void KeyDemoForm_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     charLabel.Text = "Key pressed: " + e.KeyChar; 
    } 

    public void KeyDemoForm_KeyDown(object sender, KeyEventArgs e) 
    { 
     KeyInfoLabel.Text = 
     "Alt: " + (e.Alt ? "yes" : "No") + '\n' + 
     "Shift: " + (e.Shift ? "yes" : "No") + '\n' + 
     "Ctrl: " + (e.Control ? "yes" : "No") + '\n' + 
     "KeyCode: " + e.KeyCode + '\n' + 
     "KeyValue: " + e.KeyValue + '\n' + 
     "KeyData: " + e.KeyData; 
    } 

    public void KeyDemoForm_KeyUp(object sender, KeyEventArgs e) 
    { 
     charLabel.Text = " "; 
     KeyInfoLabel.Text = " "; 
    } 

    public void KeyDemoForm_Load(object sender, EventArgs e) 
    {    
     this.KeyPreview = true; 
     this.KeyDown += KeyDemoForm_KeyDown; 
     this.KeyUp  += KeyDemoForm_KeyUp; 
     this.KeyPress += KeyDemoForm_KeyPress; 
    } 
} 
}