当前位置:编程学习 > C#/ASP.NET >>

如何判断点击哪个按钮?

想写个过程A用来判断点击了哪个按钮,button1和button2按钮都调用这个过程,如果点了button1按钮执行过程A中的一段代码,如果点了button2过程就执行过程A中的另一段代码,请问如何在过程中判断点击了哪个button控件? --------------------编程问答-------------------- 用 Select Case --------------------编程问答--------------------
引用 1 楼 tayirvb 的回复:
用 Select Case

大哥这个谁都知道,不是重点!!!!!!!!!!!! --------------------编程问答-------------------- try...

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
    If DirectCast(sender, Button).Name.ToLower = "button1" Then
        MessageBox.Show("点了button1")
    Else
        MessageBox.Show("点了button2")
    End If
End Sub
--------------------编程问答--------------------
引用 3 楼 lxcnn 的回复:
try... 


VB.NET codePrivate Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
    If DirectCast(sender, Button).Name.ToLower = "button1" Then
        MessageBox.Show("点了button1")
    Else
        MessageBox.Show("点了button2")
    End If
End Sub


妙招,我也常用这方法,呵呵 --------------------编程问答-------------------- 也可以通过一个变量记录点击的是哪个按钮 --------------------编程问答-------------------- VB.NET code:
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
Dim bttn As Button
bttn=sender
If bttn.name="button1" Then
 MessageBox.Show("点了button1")
Else
 MessageBox.Show("点了button2")
End If
End Sub --------------------编程问答-------------------- 楼上说的方法挺好
也可以获得控件的索引号来判断 --------------------编程问答--------------------
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
        Call A(DirectCast(sender, Button).Name.ToLower())
    End Sub
    Sub A(ByVal strFlag As String)
        Select Case strFlag
            Case "button1"
                MessageBox.Show("点了button1")
            Case "button2"
                MessageBox.Show("点了button2")
        End Select
    End Sub
--------------------编程问答-------------------- 楼上都回答了,sender.name即可搞定 --------------------编程问答-------------------- 之前还没用过。。呵呵 。。学习了 --------------------编程问答--------------------
引用 3 楼 lxcnn 的回复:
try...


VB.NET code
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
    If DirectCast(sender, Button).Name.ToLower = "bu……


This Answer is Good for you. --------------------编程问答--------------------  Private Sub Button_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) _
        Handles Button1.Click, Button2.Click

        Dim btn As Button = CType(sender, Button)

        If btn.Name = "Button1" Then
            MsgBox("Button1")
        ElseIf btn.Name = "Button2" Then
            MsgBox("Button2")
        End If
    End Sub --------------------编程问答-------------------- 晚太多了,嘿嘿.......用Button.CommandName判断啊 --------------------编程问答-------------------- 又学习到一个自己不知道的问题了~~ --------------------编程问答--------------------   0

引用 5 楼 yanlongwuhui 的回复:
也可以通过一个变量记录点击的是哪个按钮
--------------------编程问答-------------------- 就用sender判断就行了 --------------------编程问答-------------------- 定义公共变量来判断单击了那个按钮 --------------------编程问答-------------------- 窗体上每个控件都有个 Tab index。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 8 楼 tosp2012 的回复:
VB.NET code
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
        Call A(DirectCast(sender, Button).Name.ToLower())
    E……

可以试试,
--------------------编程问答-------------------- Private Sub MoveToStart()
        Dim startingPoint = Panel1.Location
        startingPoint.Offset(10, 10)
        Cursor.Position = PointToScreen(startingPoint)
    End Sub --------------------编程问答-------------------- 用sender.name获取点击按钮的名称 --------------------编程问答-------------------- 学习了,果然好用 --------------------编程问答-------------------- --------------------编程问答-------------------- 学习了,高手多多啊! --------------------编程问答--------------------
引用 3 楼  的回复:
try...

VB.NET code
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
    If DirectCast(sender, Button).Name.ToLower = "butt……



三楼的我也常用。 --------------------编程问答-------------------- Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
        msgbox(sender.text.tostring)
    End Sub --------------------编程问答-------------------- 还没有用过学习了
--------------------编程问答-------------------- 每个控件是否有个tag属性,可以用这个属性进行编程 --------------------编程问答-------------------- Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click

        Select Case sender.text.ToString

            Case "Button1"

            Case "Button2"

            Case "Button3"

            Case "Button4"

            Case "Button5"

        End Select
    End Sub
   
End Class
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,