您的位置:首页 > 编程语言 > C#

c# 右键单击 treeview 控件, 显示菜单 以及 从一个 form 调用 另一个form

2010-11-29 04:14 429 查看
///////////////////////// Form1 /////////////////////////////////////

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
contextMenuStrip_Rooms = build_contextMenuStrip_Rooms();
contextMenuStrip_Room = build_contextMenuStrip_Room();
contextMenuStrip_computer = build_contextMenuStrip_computer();
}

//testing 显示 返回 form2 textbox 的内容

public string ss = null;
public void test()
{
MessageBox.Show(ss);
}

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.treeView1.SelectedNode = e.Node;
TreeNode currentNode = this.treeView1.SelectedNode;

//root node
if (currentNode.Name == "Rooms")
{
currentNode.ContextMenuStrip = contextMenuStrip_Rooms;
}

// second level node
else if (currentNode.Name.Contains("Room") && currentNode.Name != "Room")
{
currentNode.ContextMenuStrip = contextMenuStrip_Room;
}

//third level node

else    // node computer
{
currentNode.ContextMenuStrip = contextMenuStrip_computer;
}
}
}

// comtextMenuStrip for three different node

#region

// comtextMenuStrip for Root node (Rooms)

private ContextMenuStrip contextMenuStrip_Rooms;

public ContextMenuStrip build_contextMenuStrip_Rooms()
{
ContextMenuStrip cms = new ContextMenuStrip();

// add room item

ToolStripItem item1 = new ToolStripMenuItem();
item1.Name = "Add room";

item1.Text = "Add room";

item1.Size = new System.Drawing.Size(152, 22);

item1.MouseUp += new System.Windows.Forms.MouseEventHandler(contextMenuStrip_Rooms_addRoomClick);

cms.Items.Add(item1);

// properties item

ToolStripItem item2 = new ToolStripMenuItem();

item2.Name = "Properties";

item2.Text = "Properties";

item2.Size = new System.Drawing.Size(152, 22);

item2.MouseUp += new MouseEventHandler(contextMenuStrip_Rooms_propertyClick);

cms.Items.Add(item2);

return cms;

}

private void contextMenuStrip_Rooms_addRoomClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MessageBox.Show(treeView1.SelectedNode.Name + " add room clicked ;");

//invoke form2

//Form2 f2 = new Form2(this);

//f2.ShowDialog(this);
}
}

private void contextMenuStrip_Rooms_propertyClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MessageBox.Show(treeView1.SelectedNode.Name + " property clicked");
}
}

#endregion

#region

private ContextMenuStrip contextMenuStrip_Room;

public ContextMenuStrip build_contextMenuStrip_Room()
{
ContextMenuStrip cms = new ContextMenuStrip();

ToolStripItem item1 = new ToolStripMenuItem();

item1.Name = "Add Computer";

item1.Text = "Add Computer";

item1.Size = new System.Drawing.Size(152, 22);

item1.MouseUp += new System.Windows.Forms.MouseEventHandler(contextMenuStrip_Room_addComputerClick);

cms.Items.Add(item1);

ToolStripItem item2 = new ToolStripMenuItem();

item2.Name = "Delete";

item2.Text = "Delete";

item2.Size = new System.Drawing.Size(152, 22);

item2.MouseUp += new System.Windows.Forms.MouseEventHandler(contextMenuStrip_Room_DeleteClick);

cms.Items.Add(item2);

ToolStripItem item3 = new ToolStripMenuItem();

item3.Name = "Properties";

item3.Text = "Properties";

item3.Size = new System.Drawing.Size(152, 22);

item3.MouseUp += new System.Windows.Forms.MouseEventHandler(contextMenuStrip_Room_PropertyClick);

cms.Items.Add(item3);

return
cms;

}

private void contextMenuStrip_Room_addComputerClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MessageBox.Show(treeView1.SelectedNode.Name + " addComputer clicked");
}

}

private void contextMenuStrip_Room_DeleteClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MessageBox.Show(treeView1.SelectedNode.Name + " delete clicked");
}

}

private void contextMenuStrip_Room_PropertyClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MessageBox.Show(treeView1.SelectedNode.Name + " property clicked");
}
}

#endregion

#region

private ContextMenuStrip contextMenuStrip_computer;

public ContextMenuStrip build_contextMenuStrip_computer()
{
ContextMenuStrip cms = new ContextMenuStrip();

ToolStripItem item1 = new ToolStripMenuItem();

item1.Name = "Delete";

item1.Text = "Delete";

item1.Size = new System.Drawing.Size(152, 22);

item1.MouseUp += new System.Windows.Forms.MouseEventHandler(contextMenuStrip_Computer_DeleteClick);

cms.Items.Add(item1);

ToolStripItem item2 = new ToolStripMenuItem();

item2.Name = "Properties";

item2.Text = "Properties";

item2.Size = new System.Drawing.Size(152, 22);

item2.MouseUp += new System.Windows.Forms.MouseEventHandler(contextMenuStrip_Computer_PropertyClick);

cms.Items.Add(item2);

return cms;

}

private void contextMenuStrip_Computer_DeleteClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MessageBox.Show(treeView1.SelectedNode.Name + " delete clicked");
}
}

private void contextMenuStrip_Computer_PropertyClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MessageBox.Show(treeView1.SelectedNode.Name + " property clicked");
}

}

#endregion

}

}

///////////////////////////////form2 /////////////////////////////

public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private Form1 form1;
public Form2(Form1 f1)
: this()
{
form1 = f1;
}
private void button1_Click(object sender, EventArgs e)
{
form1.ss = textBox1.Text;
this.Close();
//this.form1.Show();
form1.test();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐