void InitializeComponents()
        {
            SuspendLayout();

            //
            // toolStrip
            //
            toolStrip = new BlackToolStrip();
            toolStrip.AddButton(Program.BarsImage);
            toolStrip.NextAlignment = ToolStripItemAlignment.Right;

            //
            // splitterContainer
            //
            splitContainer = new SplitContainer()
            {
                BackColor        = SystemColors.Control,
                Dock             = DockStyle.Fill,
                Location         = new Point(0, 0),
                Name             = "splitContainer",
                FixedPanel       = FixedPanel.Panel1,
                Size             = new Size(1422, 1006),
                SplitterDistance = 650,
                TabIndex         = 0,
            };

            //
            // objectsList
            //
            objectsTreeView = new BufferedTreeView()
            {
                BackColor          = SystemColors.Control,
                Dock               = DockStyle.Fill,
                Font               = new Font("Tahoma", 9.0F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0))),
                ItemHeight         = 40,
                BorderStyle        = BorderStyle.None,
                FullRowSelect      = true,
                HideSelection      = false,
                Sorted             = true,
                TreeViewNodeSorter = new TreeSorterByImageIndex(),
                ImageList          = new ImageList
                {
                    ImageSize  = new Size(32, 20),
                    ColorDepth = ColorDepth.Depth32Bit
                }
            };
            objectsTreeView.AfterSelect += ObjectsTreeView_AfterSelect;
            objectsTreeView.ImageList.Images.Add(Program.FolderIconSmall);
            objectsTreeView.ImageList.Images.Add(Program.SheetIconSmall);
            splitContainer.Panel1.Controls.Add(objectsTreeView);

            //
            // infoTreeView
            //
            infoTreeView = new BufferedTreeView()
            {
                BackColor     = SystemColors.ControlDark,
                Dock          = DockStyle.Fill,
                Font          = new Font("Tahoma", 9.0F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0))),
                ItemHeight    = 40,
                BorderStyle   = BorderStyle.None,
                FullRowSelect = true,
                HideSelection = false,
                DrawMode      = TreeViewDrawMode.OwnerDrawText,
                ImageList     = new ImageList
                {
                    ImageSize  = new Size(32, 20),
                    ColorDepth = ColorDepth.Depth32Bit
                }
            };
            infoTreeView.DrawNode += InfoTreeView_DrawNode;
            infoTreeView.ImageList.Images.Add(Program.FolderIconSmall);
            infoTreeView.ImageList.Images.Add(Program.SheetIconSmall);
            splitContainer.Panel2.Controls.Add(infoTreeView);

            //
            // Finish
            //
            Size = new Size(1800, 1000);
            Icon = Program.Icon;
            Text = "Bigfile contents";
            Controls.Add(splitContainer);

            ResumeLayout();
        }
        void InitializeComponents()
        {
            SuspendLayout();

            //
            // appContainer
            //
            appContainer = new Panel
            {
                Dock        = DockStyle.Fill,
                BorderStyle = BorderStyle.None,
                Visible     = false,
            };
            appContainer.SuspendLayout();

            //
            // statusBar
            //
            statusBar = new StatusStrip()
            {
                Dock       = DockStyle.Bottom,
                Size       = new Size(400, 32),
                SizingGrip = true,
                Stretch    = true,
                AutoSize   = false
            };
            statusBar.Items.Add(statusLabel = new ToolStripStatusLabel()
            {
                Spring    = true,
                Text      = "Ready",
                TextAlign = ContentAlignment.MiddleLeft
            });

            //
            // toolStrip
            //
            toolStrip = new BlackToolStrip();
            var mainMenuButton = toolStrip.AddMenuItem(Program.BarsImage);

            mainMenuButton.DropDownOpening += (sender, args) =>
            {
                mainMenuButton.DropDownItems.Clear();
                mainMenuButton.DropDownItems.AddRange(MainMenu());
            };
            toolStrip.Items.Add(gameStatusLabel = new ToolStripLabel()
            {
                AutoSize  = false,
                Height    = toolStrip.Height,
                Width     = 382 /* 314 */,
                TextAlign = ContentAlignment.MiddleLeft,
                BackColor = Color.White
            });
            //toolStrip.AddMenuItem(Program.BarsImage);
            toolStrip.Items.Add(new ToolStripSeparator());
            toolStrip.NextAlignment = ToolStripItemAlignment.Right;
            progressBar             = toolStrip.AddProgressBar();
            discardButton           = toolStrip.AddButton(Program.TrashImage, "Discard", DiscardChanges);
            applyButton             = toolStrip.AddButton(Program.SaveImage, "Apply", ApplyChanges);
            changesLabel            = toolStrip.AddLabel();
            progressBar.Visible     = false;

            //
            // splitContainer
            //
            splitContainer = new SplitContainer
            {
                BackColor        = SystemColors.Control,
                Dock             = DockStyle.Fill,
                Location         = new Point(0, 0),
                Name             = "splitContainer",
                FixedPanel       = FixedPanel.Panel1,
                Size             = new Size(1422, 1006),
                SplitterDistance = 450,
                TabIndex         = 0,
            };
            splitContainer.BeginInit();
            splitContainer.Panel1.SuspendLayout();
            splitContainer.Panel2.SuspendLayout();
            splitContainer.SuspendLayout();
            splitContainer.Panel1.DockPadding.All = 9;

            //
            // folderTreeView
            //
            folderTreeView = new BufferedTreeView
            {
                BackColor     = SystemColors.Control,
                BorderStyle   = BorderStyle.None,
                Dock          = DockStyle.Fill,
                Font          = new Font("Tahoma", 9.0F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0))),
                Name          = "folderTreeView",
                Size          = new Size(474, 1006),
                TabIndex      = 0,
                ItemHeight    = 40,
                FullRowSelect = true,
                HideSelection = false,
                DrawMode      = TreeViewDrawMode.OwnerDrawText,
                ImageList     = new ImageList
                {
                    ImageSize  = new Size(32, 20),
                    ColorDepth = ColorDepth.Depth32Bit
                }
            };
            folderTreeView.ImageList.Images.Add(Program.FolderIconSmall);
            folderTreeView.AfterSelect    += FolderTreeView_AfterSelect;
            folderTreeView.NodeMouseClick += FolderTreeView_MouseClick;
            folderTreeView.DrawNode       += FolderTreeView_DrawNode;
            splitContainer.Panel1.Controls.Add(folderTreeView);

            //
            // imageListView
            //
            imageListView = new BufferedListView
            {
                BackColor      = SystemColors.ControlDark,
                BorderStyle    = BorderStyle.None,
                Dock           = DockStyle.Fill,
                Location       = new Point(0, 0),
                Name           = "imageListView",
                Size           = new Size(944, 1006),
                TabIndex       = 0,
                View           = View.LargeIcon,
                LargeImageList = new ImageList
                {
                    ImageSize  = new Size(200, 200),
                    ColorDepth = ColorDepth.Depth32Bit
                }
            };
            imageListView.SelectedIndexChanged += ImageListView_SelectedIndexChanged;
            imageListView.DoubleClick          += ImageListView_DoubleClick;
            imageListView.MouseClick           += ImageListView_MouseClick;
            imageListView.ItemDrag             += ImageListView_ItemDrag;
            splitContainer.Panel2.Controls.Add(imageListView);

            //
            // DragInstructions
            //
            dragInstructions = new Panel()
            {
                Dock = DockStyle.Fill
            };
            instructionsLabel = new Label()
            {
                Dock      = DockStyle.Fill,
                Font      = new Font("Tahoma", 20),
                TextAlign = ContentAlignment.MiddleCenter,
            };
            instructionsLabel.Paint += InstructionsLabel_Paint;
            dragInstructions.Controls.Add(instructionsLabel);

            //
            // ExplorerForm
            //
            AutoScaleDimensions = new SizeF(12F, 25F);
            AutoScaleMode       = AutoScaleMode.Font;
            ClientSize          = new Size(1522, 1006);
            appContainer.Controls.Add(splitContainer);
            appContainer.Controls.Add(statusBar);
            appContainer.Controls.Add(toolStrip);
            Controls.Add(appContainer);
            Controls.Add(dragInstructions);
            Name           = "ExplorerForm";
            Text           = "SOR4 Explorer";
            DoubleBuffered = true;
            AllowDrop      = true;
            Icon           = Program.Icon;

            FormClosing += ExplorerForm_FormClosing;
            DragDrop    += ExplorerForm_DragDrop;
            DragEnter   += ExplorerForm_DragEnter;

            splitContainer.Panel1.ResumeLayout(false);
            splitContainer.Panel2.ResumeLayout(false);
            splitContainer.EndInit();
            splitContainer.ResumeLayout(false);
            appContainer.ResumeLayout(false);
            ResumeLayout(false);
        }