我正試圖在學習C#時做一些新的事情。我最近發佈了一個類似的問題,直接設置和填充上下文菜單。現在我已經完成了,我發現自己得到了我需要的執行。C#如何使用Windows窗體設置上下文菜單的預設?
我正在創建一個用戶定義的快速訪問列表。它只是一個名字和IP地址。
我從一個XML docmuent填充列表,並通過向上下文菜單:
ToolStripMenuItem.DropDownItems.Add(string name, image, eventargs onClick)
我在哪裏卡住試圖找出如何告訴click事件什麼IP使用。我知道一個方法參數,我可以通過添加另一個函數參數,如通過IP地址:
doSomething("Hello World");
void doSomething(cmd)
{
messageBox.Show(cmd);
}
如何讓我的變量菜單選項,以指示正確的IP地址的名字嗎?我假設如果我可以使用正確的IP,那麼我可以使用相同的方法來使用密碼。 所以我的代碼如下所示:
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
...
foreach(xml node in xml doc)
{
Room r = new Room();
r.Name =xNode.SelectSingleNode("Name").InnerText;
r.IP = xNode.SelectSingleNode("IP").InnerText;
r.passwrd=xNode.SelectSingleNode("Pass").InnerText;
locations.add(r);
presetsToolStripMenuItem.DropDownItems.Add(r.Name, null, disp);
}
}
void disp(object sender, EventArgs e)
{
MessageBox.Show(r.Name's IP address);
MessageBox.Show(r.Name's password);
}
我不反對使用這樣做的另一種手段。這正是我所能發現的,似乎是最簡單的。我只是想確保它保持簡單,並從XML文檔填充上下文菜單/列表。
我對所有讀這個的人表示歉意。我沒有意識到我沒有包含foreach語句和從xml文檔填充此菜單的事實。我對這個錯誤表示歉意,因爲我認爲這對於這種情況的接近程度有很大不同。 – eatumup 2012-04-10 03:07:39