2017-12-06 6 views
0

MS Accessデータベースファイルからプログラムによっていくつかのストアドタイトルを読み込み、サブアイテムとして既存のサブメニューに追加します。MS Access DBファイルからプログラムでmenustripに追加

私は...私はちょうどサブ項目として私Menustripコントロールにそれらのタイトルを追加する方法がわからない、私のDBファイルをロードするために、私はこの方法を使用し、他のプロジェクトに

Imports System.Data.OleDb 

Public Class MainForm 
    Public Provider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" 
    Public DataFile As String = "database.accdb" 
    Public ConnString As String = Provider & DataFile 
    Public MyConnection As OleDbConnection = New OleDbConnection 
    Public DataReader As OleDbDataReader 

    Public Sub ApplicationsMenu_Load() 
     MyConnection.ConnectionString = ConnString 
     MyConnection.Open() 

     Dim str As String = "SELECT * FROM ApplicationsPaths" 

     Dim cmd As OleDbCommand = New OleDbCommand(str, MyConnection) 
     DataReader = cmd.ExecuteReader 

     Try 
      While DataReader.Read() 
       'Add submenu items code here!!! 
      End While 
      MyConnection.Close() 
     Catch ex As Exception 
      MsgBox(ex.Message) 
     End Try 
    End Sub 
End Class 

をこの方法を使用していますいくつかのlabelsFlowLayoutPanelコントロールに追加します。私は同様のことをしたい...私は構文が不足している!

While DataReader.Read() 
      Dim lbl As New Label() 
      Dim count As Integer = StandardPaths_HiddenFlowLayoutPanel.Controls.OfType(Of Label)().ToList().Count 
      lbl.Name = "Path_" & DataReader("TagNum").ToString 
      lbl.Tag = DataReader("TagNum").ToString 
      lbl.Text = DataReader("Path").ToString 
      lbl.AutoEllipsis = True 
      lbl.AutoSize = True 
      lbl.TextAlign = ContentAlignment.MiddleRight 
      StandardPaths_HiddenFlowLayoutPanel.Controls.Add(lbl) 
     End While 

EDIT:

私は、DBファイルからMenuStripにタイトルを追加するには、以下のこの方法を見つけたが、それはトップのメニューとして、それらをロードします。

While DataReader.Read() 
      Dim SubItems As New ToolStripMenuItem 
      SubItems.Text = DataReader("AppName").ToString 
      MainForm_MenuStrip.Items.Add(SubItems) 
     End While 

既存のサブメニューにアイテムを追加するにはどうすればよいですか?私はMainForm_MenuStrip.DropDownItems.Add(SubItems)を試しており、'DropDownItems' is not a member of 'MenuStrip'を得ています。

答えて

0
だこと

さて、私はそれを見つけた!まず、MenuStripコントロールの名前ではなく、それらの項目を追加するサブメニューの名前を付ける必要がありました。そして、私はDropDownItems.Addを入れて、Items.Addではなくて、おそらくドロップダウンアイテムにタイトルを追加したいからです。

While DataReader.Read() 
     Dim SubItems As New ToolStripMenuItem 
     SubItems.Text = DataReader("AppName").ToString 
     ApplicationsActions_MenuItem.DropDownItems.Add(SubItems) 
    End While 
0

それは、これを使用し、フォームの負荷にinvisible.Thenテキストボックス、リストボックスまたはsimillar control.Makeにそのデータベースファイルにあるもの/テキスト/メニューアイテムをロードします。

For each item in listbox1.items 
'this is untested 
'for example, if your menustrip's item name is FILE then 
FileToolStripMenuItem.items.add(item) 
NEXT 

すべて

+0

あなたの例は、私の例で示した 'MainForm_MenuStrip.Items.Add(SubItems)'と同じ働きをします。問題は、これらのデータを既存のサブメニューに追加する方法であり、トップには追加しないことです。 –

+0

答えを再読します –

+0

私の解決を見つけたあなたの答えのための私の友人ありがとう! –

関連する問題