索引按钮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,依此类推。谢谢。
答
这会做你想做的。 :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
为什么你甚至把按钮放在数组中?如果你已经这么做了,为什么将它声明为Object而不是使用List(Of Button)'使迭代变得容易? – Oded 2012-02-27 13:17:24
为什么不使用发件人对象,这将成为问题的按钮。 – 2012-02-27 13:17:38
删除了答案,因为oded是正确的,它只是一个评论,添加了一个相当快活的刺伤x。 – 2012-02-27 13:21:18