2016-05-02 11 views
0
私はINIファイルから2つの値を読んでいる

:セクション名、& = C "パス"動的に作成されたメニュー項目にコードが添付されていますか?

[ゲーム名]

パスという名前のキーの値:\ゲーム\ Game.exe

私がしようとしているのは、セクション "ゲーム名"であるキャプションを持つコンテキストメニュー項目を作成し、 "Path"キーの値からアプリケーションを起動させることです。私は過去に動的に作成されたコントロールではあまり働いていないので、簡単に作成してアプリケーションを起動するためのコードを1行割り当てることができますか?

これは可能でしょうか、それとも簡単な方法ですか?

foreach(SectionHeaderの文字列SecHead) { string [] Entry = myINI.GetEntryNames(SecHead);

    if (Entry != null) 
        { 
         foreach (string EntName in Entry) 
         { 
          ArrayList row = new ArrayList(); 
          row.Add(SecHead); 
          row.Add(myINI.GetEntryValue(SecHead, EntName)); 
          DGV.Rows.Add(row.ToArray()); 

          string filePath = Convert.ToString(myINI.GetEntryValue(SecHead, EntName)); 

          //Create ContextMenu Entry from Data Above 
          Icon newIcon = Icon.ExtractAssociatedIcon(filePath); 

         } 
        } 
       } 

答えて

0

INI値の読み方と変数がStringであると仮定します。のもこのようなMouseUpイベントとして、マウスの座標を提供するイベントハンドラでこれをやっていると仮定しましょう:

var section = "section"; 
var gameExe = "c:\\somepath\\mygame.exe"; 
var menu = new ContextMenu(); 
var item = new MenuItem(section); 
item.Click += (s, args) => { Process.Start(gameExe); }; 
menu.Items.Add(item); 
menu.Show(this, new Point(e.X, e.Y)); 

はライブテストされていないが、これはあなたの一般的なアイデアを与える必要があります。

関連する問題