Ironpython Winforms KeyPress输入

时间:2018-07-08 18:27:08

标签: winforms ironpython

社区

我是编程方面的新手,但是我已经从stackoverflow中学到了很多东西(我希望...)

我的问题:

我正在使用ironpython并尝试创建GUI。目前,我正在努力使KeyPress事件能够正常工作。我有TextBox,如果有人按下“ Enter键”,它应该做些什么。就像启动另一个功能一样。

我正在使用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)

1 个答案:

答案 0 :(得分:0)

您要使用KeyDown而不是KeyPress来获取Enter键:

mytxtbox.KeyDown += on_enter

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