private void LoadSkinList() { for (int i = 0; i < slist.Count; i++) { QQPictureBox pic = new QQPictureBox(); pic.Texts = slist[i]; pic.SizeMode = PictureBoxSizeMode.AutoSize; if (Directory.Exists(slist[i])) { pic.Image = Image.FromFile(slist[i] + "\\preview.png"); } else { pic.Image = ResClass.GetResObj(slist[i]); } if (i < 7) { pic.Left = i * 30 + 10 + i; pic.Top = 45; } else { pic.Left = (i - 7) * 30 + 10 + (i - 7); pic.Top = 87; } pic.MouseEnter += new EventHandler(pic_MouseEnter); pic.MouseLeave += new EventHandler(pic_MouseLeave); pic.MouseClick += new MouseEventHandler(pic_MouseClick); skinPanel.Controls.Add(pic); } }
private void pic_MouseClick(object sender, MouseEventArgs e) { QQPictureBox pic = sender as QQPictureBox; if (pic.Texts != currentSkin) { if (Directory.Exists(pic.Texts)) { friendListView.BgColorMode = false; this.BackgroundImage = Image.FromFile(GetRealFile(pic.Texts + "\\main")); } else { friendListView.BgColorMode = true; this.BackgroundImage = null; } currentSkin = pic.Texts; GC.Collect(); skinThread = new Thread(new ParameterizedThreadStart(ChangeSkin)); skinThread.Start(this.BackgroundImage); } }