コード例 #1
0
        /// <summary>
        /// Add a button to this control and reorder the buttons into their proper order.
        /// Reordering buttons can be disabled if desired, for example if adding alot of buttons.
        /// Reordering can then be done with ReorderSubfolderButtons().
        /// </summary>
        private void AddSubfolderButton(SubfolderInfo subfolderInfo, bool reorderAllButtons)
        {
            scrollPanel.Controls.Add(CreateSubfolderButton(subfolderInfo));

            if (reorderAllButtons)
            {
                ReorderSubfolderButtons();
            }
        }
コード例 #2
0
        public void RemoveSubfolderButton(SubfolderInfo subfolderInfo, bool reorderButtons)
        {
            bool changed = false;
            IEnumerable <SubfolderButton> buttons = scrollPanel.Controls.OfType <SubfolderButton>().Where(t => t.subfolderInfo == subfolderInfo);

            foreach (Control c in buttons)
            {
                scrollPanel.Controls.Remove(c);
                changed = true;
            }

            if (reorderButtons && changed)
            {
                ReorderSubfolderButtons();
            }
        }
コード例 #3
0
        private SubfolderButton CreateSubfolderButton(SubfolderInfo subfolderInfo)
        {
            SubfolderButton button = new SubfolderButton();

            button.Size        = new Size(189, 22);
            button.UseMnemonic = false;
            button.Enabled     = Enabled;

            button.Text          = subfolderInfo.name;
            button.subfolderInfo = subfolderInfo;

            //tooltip.SetToolTip(button, directory + (custom ? "\nThis is a custom, user-added directory, right click to remove." : ""));

            button.TextAlign = ContentAlignment.BottomLeft;
            button.MouseUp  += subfolderButton_MouseUp;

            return(button);
        }
コード例 #4
0
 public SubfolderButton() : base()
 {
     subfolderInfo = new SubfolderInfo();
 }
コード例 #5
0
 public SubfolderButton(string name, string directory, bool custom) : base()
 {
     subfolderInfo = new SubfolderInfo(name, directory, custom);
 }
コード例 #6
0
 public SubfolderButtonClickedEventArgs(MouseEventArgs mea, SubfolderInfo subfolderInfo) : base(mea.Button, mea.Clicks, mea.X, mea.Y, mea.Delta)
 {
     SubfolderInfo = subfolderInfo;
 }