C# の学習で何か新しいことをしようとしています。私は最近、コンテキスト メニューを直接設定して入力することについて、同様の質問を投稿しました。これが完了したので、必要な実行を取得するのに行き詰まっていることに気づきました。
ユーザー定義のクイック アクセス リストを作成しています。単なる名前と IP アドレスです。
xml docmuent からリストを作成し、次の方法でコンテキスト メニューに追加しています。
ToolStripMenuItem.DropDownItems.Add(string name, image, eventargs onClick)
私が立ち往生しているのは、クリックイベントにどの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 ドキュメントから入力されるようにしたいだけです。