1

一部のボタンのコーディングに問題があります。これは私がこれまでに得たものです:

Public Class Form1

Dim Button(12) As Button
Dim X As Integer

Private Sub EventName()
    Dim message, title, defaultValue As String
    Dim myValue As Object
    If Label4.Text = "Admin" Then
        ' Set prompt.
        Message = "Enter Product Name"
        ' Set title.
        title = "Product Name"
        defaultValue = ""   ' Set default value.

        'Display message, title, and default value.
        myValue = InputBox(Message, title, defaultValue)

        Button(X).Text = myValue
    End If
End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button9.Click, Button8.Click, Button7.Click, Button6.Click, Button5.Click, Button4.Click, Button3.Click, Button2.Click, Button12.Click, Button11.Click, Button10.Click
    'Dim message, title, defaultValue As String
    'Dim myValue As Object
    For Me.X = 1 To 10

        >>>>>    <<<<<<<

    Next
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Button(1) = Button1
    Button(2) = Button2
    Button(3) = Button3
    Button(4) = Button4
    Button(5) = Button5
    Button(6) = Button6
    Button(7) = Button7
    Button(8) = Button8
    Button(9) = Button9
    Button(10) = Button10
    Button(11) = Button11
    Button(12) = Button12
End Sub

私がやろうとしているのは、ボタン7をクリックすると、ユーザーがボタンの名前を入力するための入力ボックスが表示されることです。間で何を試しても>>>>> <<<<<、うまくいかないようです。

4

1 に答える 1

1

誰かがボタンをクリックしてそのボタンのテキストを変更したいだけのように聞こえますか?

それが正しければ、次のようなものがクリックメソッドで機能します。

With DirectCast(sender, Button)
  .Text = InputBox("Button Name", "Button Name", .Text)
End With

すべてのボタンに同じ入力が必要な場合は、次のようにしてみてください。

Dim value As String = InputBox("Button Name", "Button Name")
For Each btn As Button In Buttons
  If btn IsNot Nothing Then
    btn.Text = value
  End If
Next

そのButtons配列の使用をやめることを強く検討する必要があります。これらのボタンの参照をリストに保持する必要がある場合は、List(of Button)代わりにを使用してください。

于 2012-07-27T15:01:22.643 に答える