回 帖 发 新 帖 刷新版面

主题:[原创][求助]Visual Basic 一些小项目

要求大家帮助看下,我是学习Java的,VB这块也不太懂,小孩子一直缠着,靠各位帮助
下面是这个小计算器的一些小要求
1、界面上的前两个文本框用于输入参与运算的数据,第三个文本框用于显示结果,而且只能显示,不能键盘输入(Loacked属性设为True),开始时第一个文本框获得焦点。
2、单击代表不同运算符号的命令按钮时,如果第一个文本框没有数据,则给出提示信息,同时让第一个文本框获得焦点。否则,在第一个文本框与第二个文本框之间的标签显示相应的运算符号(图中为初始状态,没有显示),同时将焦点置于第二个文本框中。
3、单击“CE”按钮,则清除所有文本框的内容,并将焦点置于第一个文本框中。
4、标签中没有显示运算符时,第二个文本框不可用。
4、单击“=”按钮,如果第一、第二个文本框为空,则给出提示信息,同时将光标置于第一个文本框中。否则,在第三个文本框显示计算结果。

谢谢大家了,小弟感谢不尽

回复列表 (共4个回复)

沙发

既然如此,你先用Java写个出来让我们VBer见识一下先,我们再转化为VB代码(这样也容易,哈哈)

板凳

厉害~这样的理由都想得出来~!!

3 楼

也是,难道不难,就是有点麻烦。
而且本版块也不止一次有过这样的代码了

4 楼

先将四个运算符号键设置为控件数组,把Text1的TabIndex设置为0,再添加以下代码:

Option Explicit

Dim signTag As Integer '运算符标记

Private Sub Form_Load()
Label1.Caption = "": Text1 = "": Text2 = "": Text3 = ""
Text2.Enabled = False
Text3.Locked = True
End Sub

Private Sub Command_Click(Index As Integer) '运算符号键
If Len(Text1) Then
  Select Case Index
    Case 0: Label1.Caption = "+"
    Case 1: Label1.Caption = "-"
    Case 2: Label1.Caption = "×"
    Case 3: Label1.Caption = "÷"
  End Select
  signTag = Index
  Text2.Enabled = True
  Text2.SetFocus
Else
  MsgBox "第一个文本框没有数据"
  Text2.Enabled = False
  Text1.SetFocus
End If
End Sub

Private Sub Command5_Click() '等于键
If Len(Text1) And Len(Text2) Then
  Select Case signTag
    Case 0: Text3 = Val(Text1) + Val(Text2)
    Case 1: Text3 = Val(Text1) - Val(Text2)
    Case 2: Text3 = Val(Text1) * Val(Text2)
    Case 3: If Val(Text2) = 0 Then MsgBox "除数不能等于0!" Else Text3 = Val(Text1) / Val(Text2)
  End Select
Else
  MsgBox "没有计算数据"
  Text1.SetFocus
End If
End Sub

Private Sub Command6_Click() '清除键
Label1.Caption = "": Text1 = "": Text2 = "": Text3 = ""
Text2.Enabled = False
Text1.SetFocus
End Sub

如果还有其它限制条件(例如只允许前两个文本框输入数字),你自己改一下吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册