none
关于窗体中listview切换的问题。急求解答。 RRS feed

  • 一般討論

  • 创建了一个窗体。在窗体中放了3个listview空间。属性全部相同。只是背景图片不同。代码中visible属性赋值全部正确。

    运行窗体。从第一个listview切换到第二个listview时,中间有一段过程显示的是白色!第二个listview切换到第三个listview同样如此!

    我试着改变了下BACKCOLOR的的颜色。改成了蓝色。

    结果。当窗体中的listview切换时中间过程就显示了蓝色。

    这是什么问题?

    望解答!急!

    • 已變更類型 璉璉 2012年8月25日 上午 04:01
    • 已移動 璉璉 2012年8月25日 上午 04:03 (從:Visual Basic)
    2012年8月16日 下午 06:32

所有回覆

  • 您好,請問是否可以貼代碼出來呢? 大家比較容易了解哦!


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年8月17日 上午 01:19
  • 有可能是系統更新畫面的速度不夠快引起的, 建議可以為視窗加入TabControl控制項, 為TabControl控制項加入三個TabPage, 每個TabPage各放一個ListView, 利用TabControl切換顯示ListView應該就可以解決這個問題
    2012年8月17日 上午 01:26
  • //窗体加载
            private void FrmSongBySinger_Load(object sender, EventArgs e)
            {
                    this.BindList1();
                    this.BindList2();
                    //this.BindList3();
            }
            //歌手点歌界面Listview1绑定图片文字
            private void BindList1()
            {
                Image imgCombination = Image.FromFile(@"D:\KTVphotos\list1\组合.jpg");
                ilLarge1.Images.Add(imgCombination);
                Image imgManSinger = Image.FromFile(@"D:\KTVphotos\list1\影视.jpg");
                ilLarge1.Images.Add(imgManSinger);
                Image imgWomanSinger = Image.FromFile(@"D:\KTVphotos\list1\经典.jpg");
                ilLarge1.Images.Add(imgWomanSinger);

                ListViewItem item1 = new ListViewItem("组合");
                item1.ImageIndex = 0;
                listView1.Items.Add(item1);
                ListViewItem item2 = new ListViewItem("男歌手");
                item2.ImageIndex = 1;
                listView1.Items.Add(item2);
                ListViewItem item3 = new ListViewItem("女歌手");
                item3.ImageIndex = 2;
                listView1.Items.Add(item3);
            }
            //歌手点歌界面Listview2绑定图片文字
            private void BindList2()
            {
                Image imgMainland = Image.FromFile(@"D:\KTVphotos\list2\薛之谦.jpg");
                ilLarge2.Images.Add(imgMainland);
                Image imgHongKong = Image.FromFile(@"D:\KTVphotos\list2\方大同.jpg");
                ilLarge2.Images.Add(imgHongKong);
                Image imgTaiWan = Image.FromFile(@"D:\KTVphotos\list2\后弦.jpg");
                ilLarge2.Images.Add(imgTaiWan);
                Image imgUSA = Image.FromFile(@"D:\KTVphotos\list2\avril lavigne.jpg");
                ilLarge2.Images.Add(imgUSA);
                Image imgJSK = Image.FromFile(@"D:\KTVphotos\list2\安室奈美惠.jpg");
                ilLarge2.Images.Add(imgJSK);

                ListViewItem item1 = new ListViewItem("大陆");
                item1.ImageIndex = 0;
                listView2.Items.Add(item1);
                ListViewItem item2 = new ListViewItem("香港");
                item2.ImageIndex = 1;
                listView2.Items.Add(item2);
                ListViewItem item3 = new ListViewItem("台湾");
                item3.ImageIndex = 2;
                listView2.Items.Add(item3);
                ListViewItem item4 = new ListViewItem("欧美");
                item4.ImageIndex = 3;
                listView2.Items.Add(item4);
                ListViewItem item5 = new ListViewItem("日韩");
                item5.ImageIndex = 4;
                listView2.Items.Add(item5);
            }
            //歌手点歌界面Listview3绑定图片文字
            private void BindList3()
            {
                Image imgCYX = Image.FromFile(@"D:\KTVphotos\港台歌手\陈奕迅.jpg");
                ilLarge3.Images.Add(imgCYX);
                Image imgZJL = Image.FromFile(@"D:\KTVphotos\港台歌手\周杰伦2.jpg");
                ilLarge3.Images.Add(imgZJL);
                Image imgLDH = Image.FromFile(@"D:\KTVphotos\港台歌手\刘德华.jpg");
                ilLarge3.Images.Add(imgLDH);
                Image imgWLH = Image.FromFile(@"D:\KTVphotos\港台歌手\王力宏.jpg");
                ilLarge3.Images.Add(imgWLH);
                Image imgZXY = Image.FromFile(@"D:\KTVphotos\港台歌手\张学友.jpg");
                ilLarge3.Images.Add(imgZXY);
                Image imgCL = Image.FromFile(@"D:\KTVphotos\港台歌手\成龙.jpg");
                ilLarge3.Images.Add(imgCL);

                ListViewItem item1 = new ListViewItem("陈奕迅");
                item1.ImageIndex = 0;
                listView3.Items.Add(item1);
                ListViewItem item2 = new ListViewItem("周杰伦");
                item2.ImageIndex = 1;
                listView3.Items.Add(item2);
                ListViewItem item3 = new ListViewItem("刘德华");
                item3.ImageIndex = 2;
                listView3.Items.Add(item3);
                ListViewItem item4 = new ListViewItem("王力宏");
                item4.ImageIndex = 3;
                listView3.Items.Add(item4);
                ListViewItem item5 = new ListViewItem("张学友");
                item5.ImageIndex = 4;
                listView3.Items.Add(item5);
                ListViewItem item6 = new ListViewItem("成龙");
                item6.ImageIndex = 5;
                listView3.Items.Add(item6);
            }
            //点击窗体1的任意选项时ListView场景切换至窗体2【新方法】
            private void listView1_SelectedIndexChanged_1(object sender, EventArgs e)
            {
                if (listView1.SelectedItems.Count > 0)
                {
                    this.listView1.Visible = false;
                    this.listView2.Visible = true;
                    this.BindList2();
                }
            }
            //点击窗体2的任意选项时ListView场景切换至窗体3【新方法】
            private void listView2_SelectedIndexChanged_1(object sender, EventArgs e)
            {
                if (listView2.Items[0].Text.Equals("大陆"))
                {
                    listView2.Visible = false;
                    listView3.Visible = true;
                }
                else if (listView2.Items[0].Text.Equals("香港"))
                {
                    listView2.Visible = false;
                    listView3.Visible = true;
                    listView3.Show();
                }
                else if (listView2.Items[0].Text.Equals("台湾"))
                {
                    listView2.Visible = false;
                    listView3.Visible = true;
                }
                else if (listView2.Items[0].Text.Equals("欧美"))
                {
                    listView2.Visible = false;
                    listView3.Visible = true;
                }
                else if (listView2.Items[0].Text.Equals("日韩"))
                {
                    listView2.Visible = false;
                    listView3.Visible = true;
                }
            }
    • 已編輯 年后 2012年8月17日 上午 04:21
    2012年8月17日 上午 04:19
  • 看到你的原始碼後,我想必須提醒你,你的原始碼不是 vb ,你卻貼在 vb 版,要嘛就是你把 c# 的程式碼貼到 vb 裡去,要嘛就是你把文貼錯貼到 vb 版來。

    移文至:

    Visual C#

    T.L. Cheng

    2012年8月25日 上午 04:03