0

わかりました...完全に混乱することなくこれを説明するにはどうすればよいですか?...わかりました。MenuScript(トップレベルとセカンドレベル)を含むこのフォームがあります。私が抱えている問題は、第2レベルの1つであり、クリックすると別のフォームに移動する「追加」です。この他のフォームには、ボタン(「記録」)とテキストボックスがあります。この別のフォームでは、ユーザーがデータを入力でき、記録ボタンをクリックすると、入力されたデータがテキストファイルに書き込まれます。では、最初のフォームに戻りましょう。もう1つの第2レベルのMenuScriptは「更新」で、これもユーザーを別のフォームに移動させます。ただし、最初に、ユーザーはリストボックス内の項目をクリックして続行する必要があります。

「if」ステートメントを使用して、「ifmnuAddがクリックされた場合」「elseifmnuUpdateがクリックされた場合」などのように言う方法はありますか。録音ボタンを複数回使用するために、そのようなものは機能しますか?

また、誰かが私に、ユーザーがリストボックス内のアイテムを選択することを確認するためのいくつかの指針を与えることができれば、間違いなくプラスになります!みんなありがとう!

残念ながら、評判が低すぎるため、画像を追加できません。

これが私の究極の目標を視覚的に表したものです

4

2 に答える 2

0

最も簡単な方法:2番目のフォームを表示する前に、選択したメニュー項目に応じて、Tagプロパティを別の何か(たとえば"Add"、または)に設定します。次に、ボタンのイベント"Update"の値をテストし、それに応じて続行します。TagClick

リストアイテムが選択されているかどうかを判断する場合:リストボックスが選択されていない場合は、ListBoxのSelectedIndexプロパティが-1に設定されます。

于 2012-07-30T14:29:49.690 に答える
0

どのモードにあるかを指定する2番目のフォーム(詳細)にパブリックプロパティを配置する必要があります。たとえば、次のようなモード列挙を作成できます。

Public Enum EntryModes
    AddBook
    UpdateBook
End Enum

次に、次のように2番目のフォームでパブリックモードプロパティを定義します。

Public Property EntryMode As EntryModes
    Get
        Return _entryMode
    End Get
    Set(ByVal value As EntryMode)
        _entryMode = value
    End Set
End Property
Private _entryMode As EntryMode

次に、メニューから2番目のフォームを表示するときは、表示する前に、まずプロパティを設定します。

Private Sub mnuAdd_Click(sender As Object, e As EventArgs)
    Dim dialog As New DetailsDialog()
    dialog.EntryMode = EntryModes.AddBook
    dialog.ShowDialog()
End Sub

Private Sub mnuUpdate_Click(sender As Object, e As EventArgs)
    Dim dialog As New DetailsDialog()
    dialog.EntryMode = EntryModes.UpdateBook
    dialog.BookToUpdate = ListBox1.SelectedItem
    dialog.ShowDialog()
End Sub

ご覧のとおり、[更新]メニューのクリックで、更新する必要のある本の情報を渡す行も追加しました。

于 2012-07-30T14:32:38.120 に答える