public TablesControl()
{
SplitContainer mainSplitter = new SplitContainer()
{
Dock = DockStyle.Fill,
};
tablesTree = new TreeView()
{
Dock = DockStyle.Fill,
};
TabControl tabControl = new TabControl()
{
Dock = DockStyle.Fill,
};
TabPage mdRowTab = new TabPage()
{
Text = "MetaData Row",
};
TabPage propertyTab = new TabPage()
{
Text = "Properties",
};
dataGridView = new DataGridView()
{
Dock = DockStyle.Fill,
RowHeadersVisible = false,
AllowUserToAddRows = false,
AllowUserToDeleteRows = false,
};
propertyGrid = new PropertyGrid()
{
Dock = DockStyle.Fill,
};
tablesTree.AfterSelect += tablesTree_AfterSelect;
tablesTree.AfterExpand += tablesTree_AfterSelect;
dataGridView.Columns.AddRange(new DataGridViewTextBoxColumn()
{
HeaderText = "#",
Width = 30,
ReadOnly = true,
},
new DataGridViewTextBoxColumn()
{
HeaderText = "Value",
Width = 300,
ReadOnly = false,
},
new DataGridViewTextBoxColumn()
{
HeaderText = "Data Type",
Width = 150,
ReadOnly = true,
}
);
disassembleItem = new ToolStripMenuItem("Disassemble Method");
disassembleItem.Click += disassembleItem_Click;
addTableItem = new ToolStripMenuItem("Add Table");
addTableItem.Click += addTableItem_Click;
addMemberItem = new ToolStripMenuItem("Add Member");
addMemberItem.Click += addMemberItem_Click;
removeMemberItem = new ToolStripMenuItem("Remove Member");
removeMemberItem.Click += removeMemberItem_Click;
ContextMenuStrip menuStrip = new System.Windows.Forms.ContextMenuStrip();
menuStrip.Items.AddRange(new ToolStripMenuItem[]
{
disassembleItem,
addTableItem,
addMemberItem,
removeMemberItem,
});
tablesTree.ContextMenuStrip = menuStrip;
dataGridView.CellEndEdit += dataGridView_CellEndEdit;
mdRowTab.Controls.Add(dataGridView);
propertyTab.Controls.Add(propertyGrid);
mainSplitter.Panel1.Controls.Add(tablesTree);
tabControl.TabPages.Add(mdRowTab);
tabControl.TabPages.Add(propertyTab);
mainSplitter.Panel2.Controls.Add(tabControl);
this.Controls.Add(mainSplitter);
}