在vb中利用窗体应用程序,定义一个限差类TolError,附带事件OverError,限差值设计为属性,由用户在文本框内输入若干个高差(可正可负),点击计算按钮时计算其总的高差h,超过限差值则触发事件OverError。
时间: 2024-09-27 07:03:11 浏览: 41
在VB (Visual Basic) 中,创建一个名为`TolError`的限差类用于窗体应用程序,可以按照以下步骤进行:
1. **定义类**:
首先,你需要定义一个名为`TolError`的公共类,它将包含一个属性`LimitValue`表示限差值,以及一个`TextBox`类型的字段`txtInput`用于存储用户输入的高差。还应有一个布尔型的`OverErrorOccurred`字段记录是否发生超限错误。
```vb
Public Class TolError
Public Property LimitValue As Double ' 定义限差值属性
Private _txtInput As TextBox ' 用户输入高差的文本框
Public Event OverError(OverErrorOccurred As Boolean) ' 定义OverError事件
Sub New()
txtInput = New TextBox ' 初始化文本框
End Sub
' 其他方法如设置文本框、获取用户输入等
End Class
```
2. **处理用户输入**:
在窗体上添加一个`TextBox`控件供用户输入高差,一个`Button`控件作为计算按钮。然后在`Click`事件处理程序中读取用户输入,并调用`CalculateTotalHeight`方法。
```vb
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
Dim tolError As New TolError ' 创建TolError实例
tolError.LimitValue = CDbl(txtLimitTextBox.Text) ' 设置限差值
tolError.txtInput.Text = txtHighDifferencesTextBox.Text ' 获取输入高差
Dim totalHeight As Double = CalculateTotalHeight(tolError.txtInput.Text)
If Abs(totalHeight - tolError.LimitValue) > tolError.LimitValue Then
RaiseEvent OverError(True) ' 超过限差则触发事件
Else
RaiseEvent OverError(False) ' 否则触发事件
End If
End Sub
Private Function CalculateTotalHeight(inputText As String) As Double
' 这里需要解析inputText并计算总和,例如通过Split函数
' 示例代码省略了实际计算部分
Dim heights() As Double = inputText.Split(","c).Select(Function(s) CDbl(s)).ToArray()
Return Array.Sum(heights)
End Function
```
3. **处理OverError事件**:
最后,在窗体中订阅`OverError`事件,以便在事件触发时显示警告信息或其他后续操作。
```vb
Private Sub TolErrorClass_OverError(OverErrorOccurred As Boolean) Handles tolError.OverError
If OverErrorOccurred Then
MessageBox.Show("高差超过了允许的误差范围!")
Else
' 如果未超出限差,则显示成功信息
MessageBox.Show("计算结果在限差范围内。")
End If
End Sub
```
阅读全文