Ironpython Winforms 按键回车

Ironpython Winforms KeyPress Enter

社区,

我是一个完全的编程菜鸟,但我从 Whosebug 学到了很多东西(我希望...)

我的问题:

我正在使用 ironpython 并尝试创建一个 GUI。目前我正在努力让 KeyPress 事件正常工作。我有 TextBox,如果有人按下 "Enter Key" 它应该做些什么。就像开始另一个功能。

我正在使用 IDE PyCharm 进行编码。

感谢您对这个问题的帮助。提前致谢:)

这是我目前尝试过的(只是一个例子,不是真正的代码):

import clr

# Set references
clr.AddReference("System.Drawing")
clr.AddReference("System.Windows.Forms")

# Import Winforms
from System.Drawing import *
from System.Windows.Forms import *

class MyClass(Form):
    def __init__(self):
        self.Text = "MyGui"
        self.Size = Size(500, 500)
        self.CenterToScreen()

        self.create_textbox()

    def create_textbox(self):
        mytxtbox = TextBox()
        mytxtbox.Name = "Textbox1"
        mytxtbox.Location = Point(50, 50)
        mytxtbox.Size = Size(100, 25)

        mytxtbox.KeyPress += KeyPressEventHandler(self.press)

    def press(self, sender, args):
        key = args.KeyChar
        if key == Keys.Enter:
            print("You pressed Enter in the TextBox")

# Run this thang
form1 = MyClass()
Application.Run(form1)

您想使用 KeyDown 获取 Enter 键,而不是 KeyPress:

mytxtbox.KeyDown += on_enter

def on_enter(self, e, args):
    key = e.KeyChar
    if key == Keys.Enter:
        print("You pressed Enter in the TextBox")