簡體   English   中英

動態ToolStripMenu腳本出了什么問題?

[英]What's wrong in my dynamical ToolStripMenu script?

為什么要重復代碼? 我在xml數據中大肆閱讀! 和安裝toolstripmenu! 但由於某種原因,經常將其放入xml amennyi項目! 為什么? 這是代碼:

try
{            
    XmlDocument xml = new XmlDocument();
    xml.Load("allomasok.xml");
    XmlNodeList xnList = xml.SelectNodes("/radiok/allomas");
    mennyi =int.Parse(xnList.Count.ToString());
    foreach (XmlNode xn in xnList)
    {
        string radioNEV = xn["neve"].InnerText;
        string radioURL = xn["url"].InnerText;

        //int i = mennyi;
       ToolStripMenuItem[] items = new ToolStripMenuItem[mennyi];

       for (int i = 0; i < items.Length; i++)
        {
            items[i] = new ToolStripMenuItem();
            items[i].Name = "mentett" + i.ToString();
            items[i].Tag = radioURL;
            items[i].Text = radioNEV;
            items[i].Click += new EventHandler(MenuItemClickHandler);
        }
        sajátokToolStripMenuItem.DropDownItems.AddRange(items);
    }            
}
catch
{
    MessageBox.Show("Hiba", "NetRadioPlayer");
}
finally
{
    MessageBox.Show("Ennyi mentett állomás van: " + mennyi);
}

謝謝。

我認為您的循環太多。 嘗試這個:

try
{            
    XmlDocument xml = new XmlDocument();
    xml.Load("allomasok.xml");
    XmlNodeList xnList = xml.SelectNodes("/radiok/allomas");
    ToolStripMenuItem mi;
    int i;

    foreach (XmlNode xn in xnList)
    {
       string radioNEV = xn["neve"].InnerText;
       string radioURL = xn["url"].InnerText;

       mi = new ToolStripMenuItem();
       mi.Name = "mentett" + i++.ToString();
       mi.Tag = radioURL;
       mi.Text = radioNEV;
       mi.Click += new EventHandler(MenuItemClickHandler);

       sajátokToolStripMenuItem.DropDownItems.Add(mi);
    }
}
catch
{
   MessageBox.Show("Hiba", "NetRadioPlayer");
}
finally
{
    MessageBox.Show("Ennyi mentett állomás van: " + mennyi);
}

如果不能解決問題,對不起,我不明白這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM