static public void SetClickAction(Control ctl, Action <Control> action) { SkaBadge badge = GetBadge(ctl); if (badge != null) { badge.ClickEvent = action; } }
static public string GetBadgeText(Control ctl) { SkaBadge badge = GetBadge(ctl); if (badge != null) { return(badge.Text); } return(""); }
static public void SetBadgeText(Control ctl, string newText) { SkaBadge badge = GetBadge(ctl); if (badge != null) { badge.Text = newText; SetPosition(badge, ctl); } }
static public bool RemoveBadgeFrom(Control ctl) { SkaBadge badge = GetBadge(ctl); if (badge != null) { ctl.Controls.Remove(badge); controls.Remove(ctl); return(true); } else { return(false); } }
/// <summary> /// Adiciona uma caixa de texto do tipo label em um controle, com um texto. /// </summary> /// <param name="Control">Controle (botão, panel, group box, etc)</param> /// <param name="Text">Texto à ser adicionado</param> /// <returns>Retorna true caso tenha conseguido adicionar a caixa de notificação</returns> static public bool AddBadgeTo(Control Control, string Text) { if (controls.Contains(Control)) { return(false); } SkaBadge badge = new SkaBadge(); badge.AutoSize = true; badge.Text = Text; badge.BackColor = Color.Transparent; controls.Add(Control); Control.Controls.Add(badge); SetPosition(badge, Control); return(true); }
static private void SetPosition(SkaBadge badge, Control ctl) { //badge.Location = new Point(ctl.Width - badge.Width - 5, ctl.Height - badge.Height - 5); //Deixa no centro do controle (em caso de botões) badge.Location = new Point(ctl.Width - badge.Width - 5, (ctl.Height / 2) - (badge.Height / 2)); }