0

これは VB.NET では非常に単純でした。次のようにします。

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 だけです。

4

4 に答える 4

1

コード例はここにあります

特定のイベントのメソッドを自動的に作成するには、コントロールのプロパティ ウィンドウの上部にあるドロップダウンを使用します。

ここには VS がありませんが、この youtube-video @ 0:40 を見ると、VS のスクリーンショットが表示され、右下隅にプロパティ ウィンドウが表示されます。その上部には、イベントのドロップダウンがあります。

于 2012-12-22T00:43:49.797 に答える
0

テキストボックスを選択し、プロパティウィンドウを開き、プロパティアイコンの隣にあるイベントアイコンをクリックして、イベントのリストを表示し、「KeyPress」をダブルクリックします

于 2012-12-22T07:15:22.373 に答える
0

フォーム プロパティで、イベント コードで定義されたキーのイベントにイベントをリンクできます。または、KeyFormcode に基づくコードを介してそれらをリンクします。これを c# で VS 2015 に更新しました。

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;
    } 
}
}
于 2016-04-15T15:43:01.127 に答える