Vb.net 从自定义消息框类生成对话框结果
我正在开发一个自定义messagebox类,如下所示-Vb.net 从自定义消息框类生成对话框结果,vb.net,class,msgbox,Vb.net,Class,Msgbox,我正在开发一个自定义messagebox类,如下所示- Public Class MyCustomMsgBox Private MyForm As Form = New Form Private lblHeadline As Label = New Label Private lblMessageBody As Label = New Label Private btnNo As Button = New Button Private btnOk As
Public Class MyCustomMsgBox
Private MyForm As Form = New Form
Private lblHeadline As Label = New Label
Private lblMessageBody As Label = New Label
Private btnNo As Button = New Button
Private btnOk As Button = New Button
Private btnYes As Button = New Button
Public Sub New(ByVal Message As String)
With MyForm
.Width = 438
.Height = 214
.Controls.AddRange(New Control() {lblHeadline, lblMessageBody, btnNo, btnYes, btnOk})
End With
End Sub
Public Shared Function ShowErrorMsg(ByVal ErrorMessage As String) As Windows.Forms.DialogResult
Dim obj As MyCustomMsgBox = New MyCustomMsgBox(ErrorMessage)
obj.MyForm.ShowDialog()
End Sub
Public Shared function ShowSuccessMsg(ByVal SuccessMessage As String) As Windows.Forms.DialogResult
'some code
End Sub
Public Shared Function AskQuestions(ByVal Questions As String) As Windows.Forms.DialogResult
'some code
End Sub
Public Shared Function ShowExceptions(ByVal ExMessage As String) As Windows.Forms.DialogResult
'some code
End Sub
'Private Sub btnNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNo.Click
' Windows.Forms.DialogResult.No()
'End Sub
End Class
这些功能设计有相关的图形、颜色、标题和标题
btnOk将返回DialogResult。确定,btnNo将返回DialogResult。否,btnYes将返回DialogResult。是
如何使用这些函数返回对话框结果
我如何知道按下了哪个按钮
我不知道如何处理一个无格式类中的按钮点击事件
你能告诉我这个主意吗
先谢谢你
SKPaul从简单的开始。您必须使用此关键字手动连接事件
AddHandler btnNo.Click, AddressOf btnNo_Click
btnNo是按钮对象。“.Click”是您想要捕获的事件。AddressOf获取指向函数的指针(基本上,它告诉编译器函数的位置。将其视为不同类型的“句柄”)
完成任务后,您必须通过这样做来记住处理程序
RemoveHandler btnNo.Click, AddressOf btnNo_Click
要设置对话框结果,必须通过ShowDialog调用表单。您只需设置窗体的DialogResults属性。我会以闭幕式的形式来做
me.DialogResult = Windows.Forms.DialogResult.OK
它将返回结果Abort您不需要
Me.Close()
行。将模态窗体的DialogResult属性设置为除None之外的任何值都将关闭它。
Me.DialogResult = Windows.Forms.DialogResult.Abort
Me.Close()