索引按钮2010

问题描述:

我的代码如下:索引按钮2010

Private Sub btn1_Click(sender As System.Object, e As System.EventArgs) Handles btn1.Click, btn2.Click, btn3.Click 
    Dim objBtn() As Object = {btn1, btn2, btn3} 
    Dim btn As Button 
    With objBtn 
     btn = CType(objBtn(x), Button) 
     If btn.FlatStyle = FlatStyle.Standard Then 
      btn.FlatStyle = FlatStyle.Flat 
      btn.FlatAppearance.BorderColor = Color.OrangeRed 
     Else 
      btn.FlatStyle = FlatStyle.Standard 
     End If 
    End With 
End Sub 

我必须为程序自动控制x的值做什么呢?也就是说,假设我点击btn1,x的值必须变为0;如果我点击btn2,x的值必须变为1,依此类推。谢谢。

+0

为什么你甚至把按钮放在数组中?如果你已经这么做了,为什么将它声明为Object而不是使用List(Of Button)'使迭代变得容易? – Oded 2012-02-27 13:17:24

+1

为什么不使用发件人对象,这将成为问题的按钮。 – 2012-02-27 13:17:38

+0

删除了答案,因为oded是正确的,它只是一个评论,添加了一个相当快活的刺伤x。 – 2012-02-27 13:21:18

这会做你想做的。 :d

x = objBtn.IndexOf(sender)

我想你想(严重)实施NumericUpDown控制。 http://msdn.microsoft.com/en-us/library/729xt55s.aspx

Jus drag &将它放到您的窗体中,可能会设置它的属性,并且它将准备就绪。

它看起来像你想设置一个按钮的状态不同于集合中的其他人。

这里的代码可以帮助你做到这一点。

Private Sub btn1_Click(sender As System.Object, e As System.EventArgs) Handles _ 
btn1.Click, btn2.Click, btn3.Click 
    Dim buttons() As Button = {btn1, btn2, btn3} 

    For Each btn in buttons 
     If btn Is sender Then 
      btn.FlatStyle = FlatStyle.Standard 
     Else 
      btn.FlatStyle = FlatStyle.Flat 
      btn.FlatAppearance.BorderColor = Color.OrangeRed 
     End If 
    Next 
End Sub