单击了哪个按钮以打开表单

时间:2014-09-17 13:55:58

标签: vb.net sender

我有一个表单,只需点击三个按钮(添加,修改或删除)中的任何一个即可加载。当表单加载时,会出现一个“确认”按钮,该按钮将根据最初用于显示表单的按钮执行任务。

是否有一种简单的方法可以确定最初点击了哪个按钮,以便能够执行正确的代码?

由于

2 个答案:

答案 0 :(得分:2)

假设在全局级别定义像这样的枚举

Public Enum CommandAction
    Create
    Modify 
    Delete
End Enum

现在在用于启动第二个表单以执行Add命令的代码中,您可以编写这样的代码(当然您重复相同但在其他按钮中更改CommandAction)。

Dim myFormInstance = new MyForm(CommandAction.Create)
myFormInstance.ShowDialog()

最后,为您的第二个表单添加一个specfic构造函数(在此示例中为MyForm)。 一个构造函数,它接收并保存以供将来使用CommandAction

Public Class MyForm
    Dim cmd as CommandAction

    Public Sub New(command as CommandAction )
         InitializeComponent()
         cmd = command
    End Sub
    Public Sub New()
         InitializeComponent()
         cmd = CommandAction.Create ' Set a default'
    End Sub
End Class

现在在您需要决定执行哪种操作的代码中,只需查看全局cmd变量的值并执行相应的代码块

注意将特定构造函数添加到表单类需要显式存在标准空构造函数。

答案 1 :(得分:-1)

首先放置一个隐藏字段,其名称如"点击"。使用一个参数创建一个javascript函数,将值放入隐藏字段。单击每个按钮调用该功能,但为每个按钮设置一些特定值。这样,您就可以在提交时为每个按钮运行正确的代码。如果不明白,请告诉我,我会在代码中帮助您。