void GenerateWidgets() { listBoxWidgets.BeginUpdate(); bg0 = MakeMBVWidget("Background 0", 256, 256); bg1 = MakeMBVWidget("Background 1", 256, 256); bg2 = MakeMBVWidget("Background 2", 256, 256); bg3 = MakeMBVWidget("Background 3", 256, 256); bgpal = MakeMBVWidget("Background Palettes", 256, 256); sppal = MakeMBVWidget("Sprite Palettes", 256, 256); sprites = MakeMBVWidget("Sprites", 1024, 512); sptiles16 = MakeMBVWidget("Sprite Tiles (4bpp)", 256, 256); sptiles256 = MakeMBVWidget("Sprite Tiles (8bpp)", 128, 256); bgtiles16 = MakeMBVWidget("Background Tiles (4bpp)", 512, 256); bgtiles256 = MakeMBVWidget("Background Tiles (8bpp)", 256, 256); MakeMDVWidget("Details", 128, 192); memory = MakeMDVWidget("Details - Memory", 128, 192); listBoxWidgets.EndUpdate(); foreach (var f in listBoxWidgets.Items) { Form form = (Form)f; // close becomes hide form.FormClosing += delegate(object sender, FormClosingEventArgs e) { e.Cancel = true; listBoxWidgets.Items.Add(sender); (sender as Form).Hide(); }; // hackish, and why doesn't winforms handle this directly? BringToFrontHack(form, form); } }
MobileDetailView MakeMDVWidget(string text, int w, int h) { var mdv = new MobileDetailView(); mdv.Text = text; mdv.BmpView.Text = text; mdv.TopLevel = false; mdv.ClientSize = new Size(w, h); mdv.BmpView.Clear(); panel1.Controls.Add(mdv); listBoxWidgets.Items.Add(mdv); return(mdv); }
MobileDetailView MakeMDVWidget(string text, int w, int h) { var mdv = new MobileDetailView(); mdv.Text = text; mdv.BmpView.Text = text; mdv.TopLevel = false; mdv.ClientSize = new Size(w, h); mdv.BmpView.Clear(); panel1.Controls.Add(mdv); listBoxWidgets.Items.Add(mdv); return mdv; }