public frmKps() { InitializeComponent(); singleRowHeight = kpsDummy.Height; baseHeight = Size.Height - singleRowHeight; basePos = kpsDummy.Location; for (int i = 0; i < frmMain.MAX_KPS_COLORS; i++) { KpsColorControl c = new KpsColorControl(); c.Use(frmMain.kpscolors[i]); c.Anchor = kpsDummy.Anchor; c.OnRemove += OnRemoveKpsColor; c.Tag = i; kpscolorcontrols[i] = c; Controls.Add(c); } Controls.Remove(kpsDummy); kpsDummy.Dispose(); kpscolorcount = frmMain.kpscolorscount; UpdateControlsLocations(); UpdateControlsVisibility(); }
private void OnRemoveKpsColor(object sender, EventArgs e) { if (--kpscolorcount == 0) { UpdateControlsVisibility(); return; } int idx = (int)((KpsColorControl)sender).Tag; KpsColorControl c = kpscolorcontrols[idx]; kpscolorcontrols[idx] = kpscolorcontrols[kpscolorcount]; kpscolorcontrols[kpscolorcount] = c; SortControls(); UpdateControlsLocations(); UpdateControlsVisibility(); }