そこで、アプリケーションでビデオ ファイルを再生したいと考えました。ToolStripMenuItem を介して 1 つを選択します。私は、500 個の ToolStripMenuItems すべてに対してコードをほぼオールラウンダーにしました。私がやろうとしているコード:
Dim Inst As String = My.Computer.FileSystem.SpecialDirectorys.ProgramFiles + "\folder\"
Private Sub PlayVid(Name)
AxWindowsMediaPlayer1.URL = Inst + IO.File.ReadAllLines(Inst + "directorys.txt")(Name.Txt.Substring(0, 3))
End Sub
Private Sub ToolStripMenuItem1_Click(sender As System.Objekt) ToolStripMenuItem1.Click
Call PlayVid(Ctype(sender, ToolStripMenuItem))
End Sub
これで、各 ToolStripMenuItem に割り当てる必要のあるコードは短くなりましたが、それでも 500 を超えるものに対してこれを行う必要があります。したがって、私の質問は、(おそらく Form.Load で) this( Call PlayVid(Ctype(sender, ToolStripMenuItem)) ) コードを全員に割り当てる方法があるかどうかです。何かのようなもの:
Private Sub Form_Load() Handles MyBase.Load
Dim T As Control
For Each T in Controls
If TypeOf C is ToolStripMenuItem Then
C.Code = Call PlayVid(Ctype(sender, ToolStripMenuItem))
End If
Next
End Sub
そのようなことさえ可能ですか?もしそうなら、それはどのように機能しますか?