I need help. Here is my problem I need an if statement that would stop the user from entering more data into the textboxes after they enter the data 4 times. I dont know how to do it as of now.
Here is my code.
Thank you for your help!
Here is my code.
Code:
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
End
End Sub
Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
txtState.Text = " "
txtFederal.Text = " "
txtFica.Text = " "
txtHours.Text = " "
txtRate.Text = " "
txtName.Text = " "
lstOutput.Items.Clear()
txtName.Focus()
End Sub
Private Sub txtHours_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtHours.Validating
'Vaildates that a number has been entered into the text box
If Not IsNumeric(txtHours.Text) Then
MessageBox.Show("Hours worked must be a number.", "Invaild Input", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
'Select the existing text in the text box.
txtHours.SelectionStart = 0
txtHours.SelectionLength = txtHours.Text.Length
'Set the e.Cacel to true so the focus will stay in the control
e.Cancel = True
Else
e.Cancel = False
End If
End Sub
Private Sub txtRate_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtRate.Validating
'Vaildates that a number has been entered into the text box
If Not IsNumeric(txtRate.Text) Then
MessageBox.Show("Pay Rate must be a number.", "Invaild Input", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
'Select the existing text in the text box.
txtRate.SelectionStart = 0
txtRate.SelectionLength = txtRate.Text.Length
'Set the e.Cacel to true so the focus will stay in the control
e.Cancel = True
Else
e.Cancel = False
End If
End Sub
Private Sub txtState_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtState.Validating
'Vaildates that a number has been entered into the text box
If Not IsNumeric(txtState.Text) Then
MessageBox.Show("State taxes must be a number.", "Invaild Input", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
'Select the existing text in the text box.
txtState.SelectionStart = 0
txtState.SelectionLength = txtState.Text.Length
'Set the e.Cacel to true so the focus will stay in the control
e.Cancel = True
Else
e.Cancel = False
End If
End Sub
Private Sub txtFederal_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtFederal.Validating
'Vaildates that a number has been entered into the text box
If Not IsNumeric(txtFederal.Text) Then
MessageBox.Show("Federal taxes must be a number.", "Invaild Input", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
'Select the existing text in the text box.
txtFederal.SelectionStart = 0
txtFederal.SelectionLength = txtFederal.Text.Length
'Set the e.Cacel to true so the focus will stay in the control
e.Cancel = True
Else
e.Cancel = False
End If
End Sub
Private Sub txtFica_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtFica.Validating
'Vaildates that a number has been entered into the text box
If Not IsNumeric(txtFica.Text) Then
MessageBox.Show("F.I.C.A. withholdings must be a number.", "Invaild Input", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
'Select the existing text in the text box.
txtFica.SelectionStart = 0
txtFica.SelectionLength = txtFica.Text.Length
'Set the e.Cacel to true so the focus will stay in the control
e.Cancel = True
Else
e.Cancel = False
End If
End Sub
Private Sub btnCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate.Click
'Declares local variables for btnCalculate_Click Method
Dim empName As String
Dim hrRate, hrsWorked As Single
Dim stateTax, fedTax As Single
Dim totalPay, grossPay, ficaTax As Single
'Gets data,compute payroll,display results
Call InputData(empName, hrRate, hrsWorked, fedTax, ficaTax, stateTax)
grossPay = Gross_Pay(hrRate, hrsWorked)
fedTax = Fed_Tax(grossPay, fedTax)
ficaTax = Fica_Tax(grossPay, ficaTax)
stateTax = State_Tax(grossPay, stateTax)
totalPay = CSng(Total_Pay(grossPay, ficaTax, fedTax, stateTax))
Call ShowPayroll(empName, grossPay, totalPay, ficaTax, fedTax, stateTax)
End Sub
Sub InputData(ByRef empName As String, ByRef hrRate As Single, ByRef hrsWorked As Single, ByRef fedTax As Single, ByRef ficaTax As Single, ByRef stateTax As Single)
' Get payroll data for employee
empName = txtName.Text
hrRate = CInt(txtRate.Text)
hrsWorked = CInt(txtHours.Text)
fedTax = CSng(txtFederal.Text)
ficaTax = CSng(txtFica.Text)
stateTax = CSng(txtState.Text)
End Sub
Sub ShowPayroll(ByRef empName As String, ByRef pay As Single, ByRef totalPay As Single, ByRef ficaTax As Single, ByRef fedTax As Single, ByVal stateTax As Single)
' Payroll output for listbox
lstOutput.Items.Add("Payroll results for " + (empName))
lstOutput.Items.Add(" Gross pay this period:" + FormatCurrency(pay))
lstOutput.Items.Add(" F.I.C.A. tax withheld:" + FormatCurrency(ficaTax))
lstOutput.Items.Add(" Federal Income tax withheld:" + FormatCurrency(fedTax))
lstOutput.Items.Add(" State Income tax withheld:" + FormatCurrency(stateTax))
lstOutput.Items.Add(" Net pay:" + FormatCurrency(totalPay))
End Sub
Function Gross_Pay(ByRef hrWage As Single, ByRef hrsWorked As Single) As Single
' Compute weekly pay before taxes
If hrsWorked <= 40 Then
Gross_Pay = hrsWorked * hrWage
Else
Gross_Pay = CSng(40 * hrWage + (hrsWorked - 40) * 1.5 * hrWage)
End If
End Function
Function Total_Pay(ByRef grossPay As Single, ByRef ficaTax As Single, ByRef fedTax As Single, ByRef stateTax As Single) As String
' Compute amount of net pay
Total_Pay = CStr(grossPay - ficaTax - fedTax - stateTax)
End Function
Function Fed_Tax(ByRef grossPay As Single, ByRef fedTax As Single) As Single
'Compute amount to be taken for Federal Tax
Fed_Tax = grossPay * fedTax
End Function
Function Fica_Tax(ByRef grossPay As Single, ByRef ficaTax As Single) As Single
''Compute amount to be taken for FICA Tax
Fica_Tax = grossPay * ficaTax
End Function
Function State_Tax(ByRef grossPay As Single, ByRef stateTax As Single) As Single
'Compute amount to be taken for State Tax
State_Tax = grossPay * stateTax
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
Thank you for your help!