private void DoCardMove(int i) { CardUserControl card = cardControls[i]; card.Left = (i + 1) * CardOffsetX; card.Top = this.Height - ((i + 1) * CardOffsetY) - card.Height; card.InBackground = i != 0; }
private void RemoveCardControl(int i) { if (i >= cardControls.Count) { return; } CardUserControl uc = cardControls[i]; uc.Card = null; this.Controls.Remove(uc); cardControls.RemoveAt(i); uc.Dispose(); }
private void FullCardMove() { int front = State.File.FrontIndex; int count = State.File.CardCount; this.SuspendLayout(); for (int i = 0; i < Math.Min(count, ViewCardCount); ++i) { CardUserControl card = cardControls[i]; card.SuspendLayout(); DoCardMove(i); card.SendToBack(); card.ResumeLayout(); } this.ResumeLayout(); }
private void AddNewCardControl(int i) { CardUserControl uc = new CardUserControl(); uc.InBackground = false; uc.Card = null; uc.ResizeTo(OptionHandler.CardWidth, OptionHandler.CardHeight); uc.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Bottom; uc.BackgroundClicked += (s, e) => { if (s is CardUserControl c) { State.File.BringUpCard(c.Card); cardControls[0].Focus(); cardControls[0].FocusContentsBox(); } }; // hide initially uc.Top = this.Top + this.Height + 100; uc.Left = this.Left + this.Width + 100; cardControls.Insert(i, uc); this.Controls.Add(uc); }