예제 #1
0
        private void SchoolInfo_Click(object sender, EventArgs e)
        {
            SchoolInfo info = sender as SchoolInfo;

            if (info == null)
            {
                return;
            }
            int index = Controls.IndexOf(info);

            if (index == focusedIndex)
            {
                index = -1;
            }
            focusedIndex = index;
            ShowRefresh();
        }
예제 #2
0
 public void ShowRefresh()
 {
     for (int index = 0; index < Controls.Count; index++)
     {
         SchoolInfo info = Controls[index] as SchoolInfo;
         if (focusedIndex == index)
         {
             info.BorderStyle = BorderStyle.FixedSingle;
         }
         else
         {
             info.BorderStyle = BorderStyle.None;
         }
     }
     if (FocusedSchool != null)
     {
         ScrollControlIntoView(FocusedSchool);
     }
     if (FocusedIndexChanged != null)
     {
         FocusedIndexChanged(this, new EventArgs());
     }
     GC.Collect();
 }
예제 #3
0
        public void Add(string folder, bool focused, bool refresh)
        {
            SchoolInfo info = new SchoolInfo();

            info.Click   += SchoolInfo_Click;
            info.Location = new Point(0, Controls.Count == 0 ? 0 : Controls[Controls.Count - 1].Top + Controls[Controls.Count - 1].Height);
            info.Anchor  |= AnchorStyles.Right;
            info.Width    = ClientSize.Width;
            info.TabIndex = Controls.Count;
            info.TabStop  = false;
            info.Title    = folder;
            info.Content  = string.Join(Environment.NewLine, FileHelper.ReadFile(FileHelper.htmlPath, folder, "0.html"));
            info.Image    = FileHelper.GetFile(FileHelper.imagePath, folder, "0.jpg");
            Controls.Add(info);

            if (focused)
            {
                focusedIndex = Controls.Count - 1;
            }
            if (refresh)
            {
                ShowRefresh();
            }
        }