دلیلش اینه که شما یک مقدار String را با String مقایسه کرده اید و نه عدد را با عدد.
Text1.text هر چه باشد در حالت عادی یک String (رشته ای از کاراکتر ها) است.
در مقایسه رشته ای 3 از 1000 بزرگتر است چون اولین کاراکتر آن (3) از اولین کاراکتر دیگری (1) بزرگتر است.
شما بایستی رشته Text1.text را به عدد تبدیل کنید (با استفاده از تابع Val).
کد برنامه را به این شکل اصلاح کردم :
کد:
Private Sub Command1_Click()
Max = Val(Text1.Text)
If Max < Val(Text2.Text) Then Max = Val(Text2.Text)
If Val(Text3.Text) > Max Then Max = Val(Text3.Text)
Label4.Caption = Max
If Max Mod 2 = 0 Then
Label6.Caption = "The number is even"
Else
Label6.Caption = "The number is odd"
End If
End Sub
Private Sub Command2_Click()
End
End Sub
حتی من توصیه می کنم که متغیرهایی که بکار می برید تعریف کنید مثلا اول بنویسید :
اینطوری اگر کاربر عدد اعشاری هم وارد کرده باشد در متغیر Max به اعداد صحیح فاقد اعشار تبدیل می شود.
خود تابع Val خروجی را به صورت Double برمی گرداند که شامل اعداد اعشاری هم هست.