vb.net - 如何分配回车键?
问题描述
我的代码:
Public Class Form1
Dim attempt As Integer
Private Sub BtnLogIn_Click(sender As Object, e As EventArgs) Handles BtnLogIn.Click
If CBUser.Text = "Mineomyn" And TBPass.Text = "lemsilog" Then
MsgBox("Log in successful!", MsgBoxStyle.Information)
TBPass.Clear()
GBAddons.Enabled = True
GBPizza.Enabled = True
RichTextBox1.Enabled = True
BtnCalculate.Enabled = True
BtnCompleteOrder.Enabled = True
BtnClearOrder.Enabled = True
TBAmount.Enabled = True
TBChange.Enabled = True
TBTotal.Enabled = True
BtnChange.Enabled = True
ElseIf CBUser.Text = "Lemsilog" And TBPass.Text = "lemsilog" Then
MsgBox("Log in successful!", MsgBoxStyle.Information)
TBPass.Clear()
GBAddons.Enabled = True
GBPizza.Enabled = True
RichTextBox1.Enabled = True
BtnCalculate.Enabled = True
BtnCompleteOrder.Enabled = True
BtnClearOrder.Enabled = True
TBAmount.Enabled = True
TBChange.Enabled = True
TBTotal.Enabled = True
BtnChange.Enabled = True
ElseIf CBUser.Text = "Lemzipon" And TBPass.Text = "lemsilog" Then
MsgBox("Log in successful!", MsgBoxStyle.Information)
TBPass.Clear()
GBAddons.Enabled = True
GBPizza.Enabled = True
RichTextBox1.Enabled = True
BtnCalculate.Enabled = True
BtnCompleteOrder.Enabled = True
BtnClearOrder.Enabled = True
TBAmount.Enabled = True
TBChange.Enabled = True
TBTotal.Enabled = True
BtnChange.Enabled = True
Else attempt = attempt + 1
End If
If attempt = 1 Then
MsgBox("Incorrect user or pass. Attempts left: 2", MsgBoxStyle.Exclamation)
TBPass.Clear()
GBAddons.Enabled = False
GBPizza.Enabled = False
RichTextBox1.Enabled = False
ElseIf attempt = 2 Then
MsgBox("Incorrect user or pass. Attempts left: 1", MsgBoxStyle.Exclamation)
TBPass.Clear()
GBAddons.Enabled = False
GBPizza.Enabled = False
RichTextBox1.Enabled = False
ElseIf attempt = 3 Then
MsgBox("Incorrect user or pass. You have reached maximum attempts to log in. Try again later.", MsgBoxStyle.Critical)
TBPass.Clear()
GBAddons.Enabled = False
GBPizza.Enabled = False
RichTextBox1.Enabled = False
BtnLogIn.Enabled = False
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
GBPizza.Enabled = False
GBAddons.Enabled = False
RichTextBox1.Enabled = False
BtnCalculate.Enabled = False
BtnCompleteOrder.Enabled = False
BtnClearOrder.Enabled = False
TBAmount.Enabled = False
TBChange.Enabled = False
TBTotal.Enabled = False
BtnChange.Enabled = False
End Sub
Private Sub calculate()
Dim cost As Double
Dim order As String
If Radsmall.Checked Then
cost = Radsmall.Tag
order = "18 inch"
ElseIf Radmedium.Checked Then
cost = Radmedium.Tag
order = "24 inch"
Else
cost = Radlarge.Tag
order = "28 inch"
End If
If CB15Coke.Checked Then cost += CB15Coke.Tag
If CB1Coke.Checked Then cost += CB1Coke.Tag
If CBCrust.Checked Then cost += CBCrust.Tag
If CBextracheese.Checked Then cost += CBextracheese.Tag
If CBmushroom.Checked Then cost += CBmushroom.Tag
If CBsingledrink.Checked Then cost += CBsingledrink.Tag
TBTotal.Text = cost
Dim display As String = "You order a " & order
If ComboPizza.Text = "Pepperoni" Then display += " pepperoni pizza"
If ComboPizza.Text = "4 Cheese" Then display += " 4 cheese pizza"
If ComboPizza.Text = "All meat" Then display += " all meat pizza"
If ComboPizza.Text = "Hawaiian" Then display += " hawaiian pizza"
If ComboPizza.Text = "Classic Italian" Then display += " classic italian pizza"
If ComboPizza.Text = "New York Style" Then display += " New York style pizza"
If ComboPizza.Text = "Pure Beef" Then display += " pure beef pizza"
If CB15Coke.Checked Then display += " with 1.5L Coke"
If CB1Coke.Checked Then display += " with 1L Coke"
If CBCrust.Checked Then display += " with tuff crust"
If CBextracheese.Checked Then display += " with extra cheese"
If CBmushroom.Checked Then display += " with mushroom"
If CBsingledrink.Checked Then display += " with single drink"
Me.RichTextBox1.Text = display
End Sub
Private Sub BtnCalculate_Click(sender As Object, e As EventArgs) Handles BtnCalculate.Click
calculate()
End Sub
Private Sub BtnCancelOrder_Click(sender As Object, e As EventArgs) Handles BtnClearOrder.Click
TBAmount.Clear()
TBChange.Clear()
TBTotal.Clear()
Radlarge.Checked = False
Radmedium.Checked = False
Radsmall.Checked = False
CB15Coke.Checked = False
CB1Coke.Checked = False
CBCrust.Checked = False
CBextracheese.Checked = False
CBmushroom.Checked = False
CBsingledrink.Checked = False
ComboPizza.Text = ""
Me.RichTextBox1.Clear()
End Sub
Private Sub BtnChange_Click(sender As Object, e As EventArgs) Handles BtnChange.Click
TBChange.Text = Val(TBTotal.Text - TBAmount.Text)
End Sub
Private Sub BtnCompleteOrder_Click(sender As Object, e As EventArgs) Handles BtnCompleteOrder.Click
MsgBox("Order is complete. Your order will be delivered to you within 45 minutes. Thank you!")
End Sub
End Class
“计算订单”按钮将执行总订单。然后我必须手动将金额放在“已支付金额”文本框中以获取更改。现在,我想做的是分配回车键,这样我就可以在输入金额后按回车,而不必悬停鼠标并单击“支付金额”按钮。我不知道它的代码,我应该在哪里把代码放在文本框或按钮上?我的“登录”按钮已经使用了接受按钮属性。
解决方案
您可以覆盖表单的 ProcessCmdKey 函数,如下所示:
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
If keyData = Keys.Enter AndAlso Me.TbAmount.Focused = True Then
Me.BtnAmountPaid.PerformClick()
Return True
End If
Return False
End Function
推荐阅读
- .net - Azure 文件存储 - 列出目录内容 - 读取文件名
- node.js - 有没有办法使用 Microsoft.AspNetCore.NodeServices 在 Node.js 上停止脚本执行?
- tfs - BuildHTTPClient 无法获取构建定义步骤?
- mysql - 在 MySQL 中查找每个外键的最新行
- r - 如何在循环中为 aov() 添加 Bonferroni 调整(在 R 中)
- c# - WPF 无法关闭应用程序实例以再次运行它
- django - 如何将 ImageField 限制为 Django Admin 中的几个选项
- javascript - 2 个不同的 php 脚本 2 个不同的登录。如何进行一次登录?
- sql - .merge() 在这个查询中做了什么?
- mysql - 选择与具有特定值的其他行关联的行