示例#1
0
        string _resourceCurrentType = ".jpg,.png,.gif,.bmp"; //暂时写法
        #endregion

        #region 公共属性

        #endregion

        #region 公共方法

        #endregion

        #region 内部方法

        /// <summary>
        /// 初始化
        /// </summary>
        private void Init()
        {
            //panelPreview.Update();
            //panelPreview.Refresh();
            panelPreview.Paint += new PaintEventHandler(panelPreview_Paint);
            //Graphics g = panelPreview.CreateGraphics();

            resourceFilePaths = new List <MyListItem>();
            MyListFolderItem myFolderResouce = new MyListFolderItem(Service.Sdsite.CurrentDocument.Resources, null);

            myResourceCurrentItem = myFolderResouce;
            resourceFilePaths.Add(myFolderResouce);

            listViewFodel.MultiSelect               = false;
            listViewFodel.SmallImageList            = new ImageList();
            listViewFodel.SmallImageList.ColorDepth = ColorDepth.Depth32Bit;
            listViewFodel.SmallImageList.ImageSize  = new Size(16, 16);

            listViewFodel.LargeImageList            = new ImageList();
            listViewFodel.LargeImageList.ColorDepth = ColorDepth.Depth32Bit;

            listViewFodel.View = View.LargeIcon; //资源文件初始打开为缩略图
            myResourceCurrentItem.ListShowView = View.LargeIcon;
            myResourceCurrentItem.BreviaryMap  = true;

            InitListView(myFolderResouce, listViewFodel, _resourceCurrentType);

            comboBoxType.SelectedIndex = 0;
        }
示例#2
0
        /// <summary>
        /// 加载项目
        /// </summary>
        /// <param name="initPath"></param>
        private void InitListView(MyListItem folderEle, ListViewEx listView, string FilterType)
        {
            listView.Items.Clear();

            // listView.FolderName = folderEle.Element.AbsoluteFilePath;

            CreateHeader(listView); //列表头
            //加载子文件夹
            foreach (XmlNode node in folderEle._element.ChildNodes)
            {
                if (node is FolderXmlElement && !(node is TmpltFolderXmlElement) && !(node is ResourcesXmlElement))
                {
                    FolderXmlElement folder = (FolderXmlElement)node;
                    if (folder.IsDeleted)
                    {
                        continue;
                    }

                    MyListFolderItem mylvi = new MyListFolderItem(folder, folderEle);
                    if (mainTabControl.SelectedIndex != 0)
                    {
                        mylvi.BreviaryMap = false;
                    }
                    string folderPath = folder.AbsoluteFilePath.Substring(0, folder.AbsoluteFilePath.Length - 1);
                    mylvi.Text = Path.GetFileName(folderPath);
                    mylvi.Text = folder.Title;

                    listView.Items.Add(mylvi);
                }
            }
            //加载子文件
            InitListViewSubFile(folderEle._element.ChildNodes, listView, FilterType);


            if (folderEle.BreviaryMap && folderEle.ListShowView == View.LargeIcon)
            {//缩略图
                listView.LargeImageList.Images.Clear();
                listView.LargeImageList.ImageSize = new Size(96, 96);
                foreach (MyListItem lvitem in listView.Items)
                {
                    // if (lvitem is MyFileItem1)
                    {
                        string fullPath = lvitem.Element.AbsoluteFilePath;
                        lvitem.ImageIndex = listView.LargeImageList.Images.Add(listView.GetThumbNail(fullPath), Color.Transparent);
                    }
                }
            }
            else
            {
                listView.LargeImageList.ImageSize = new Size(32, 32);
                //加载图标
                foreach (MyListItem lvitem in listView.Items)
                {
                    string fullPath = lvitem.Element.AbsoluteFilePath;
                    KeyValuePair <string, Image> keyImg = GetImageAndKey(fullPath, GetSystemIconType.ExtensionSmall);
                    if (!listView.SmallImageList.Images.ContainsKey(keyImg.Key))
                    {
                        listView.SmallImageList.Images.Add(keyImg.Key, keyImg.Value);
                    }
                    KeyValuePair <string, Image> keyLargeImg = GetImageAndKey(fullPath, GetSystemIconType.ExtensionLarge);
                    if (!listView.LargeImageList.Images.ContainsKey(keyLargeImg.Key))
                    {
                        listView.LargeImageList.Images.Add(keyLargeImg.Key, keyLargeImg.Value);
                    }
                    lvitem.ImageKey = keyImg.Key;
                }
            }

            if (folderEle is MyListFolderItem)
            {
                listView.View = folderEle.ListShowView;
            }
        }