Exemple #1
0
        /// <summary>
        /// 回傳資料夾順序的字串
        /// </summary>
        /// <returns></returns>
        public String func_取得資料夾順序()
        {
            //儲存資料夾順序
            String sum = "";

            foreach (var item in stackPanel_1.Children)
            {
                U_分頁_item u = (U_分頁_item)item;
                sum += u.Text + "\t";
            }
            return(sum);
        }
Exemple #2
0
        /// <summary>
        /// 刪除所有項目
        /// </summary>
        public void fun_delete_all()
        {
            var ar = sp_容器.Children;

            if (ar.Count == 0)
            {
                return;
            }
            ar.RemoveRange(0, ar.Count);

            b_but_text = null;
        }
Exemple #3
0
        /// <summary>
        /// 設定目前選取的項目
        /// </summary>
        /// <param name="but"></param>
        public void fun_SetSelect(U_分頁_item but)
        {
            if (b_but_text != null)
            {
                func_修改顏色_預設(b_but_text);
            }

            //重複點選就不執行
            if (b_but_text != but)
            {
                ac_click(but.Text);
            }

            b_but_text = but;

            func_修改顏色_選中(but);
        }
Exemple #4
0
 private void func_修改顏色_移入(U_分頁_item sender)
 {
     sender.Background = Sol_3;
     //sender.tex.Foreground = Sol_白;
 }
Exemple #5
0
 private void func_修改顏色_選中(U_分頁_item sender)
 {
     sender.Background = Sol_2;
     //sender.tex.Foreground = Sol_2 ;
 }
Exemple #6
0
        /// <summary>
        /// 給項目註冊所需要的事件
        /// </summary>
        /// <param name="but"></param>
        public void fun_addEvent(U_分頁_item but)
        {
            sp_容器.Children.Add(but);

            but.MouseDown += (object sender, MouseButtonEventArgs e) => {
                b_拖曳 = true;

                if (b_but_text == null)
                {
                    b_but_text = (U_分頁_item)sender;
                }
                else
                {
                    ac_change(b_but_text.Text);//執行 切換 事件
                }

                fun_SetSelect((U_分頁_item)sender);

                /*
                 * func_修改顏色_預設(b_but_text);
                 * b_but_text = ((U_分頁_item)sender);
                 * func_修改顏色_選中((U_分頁_item)sender);
                 * ac_click(((U_分頁_item)sender).Text);//執行 點擊 事件
                 */
            };

            but.MouseUp += (object sender, MouseButtonEventArgs e) => {
                b_拖曳 = false;
            };

            but.MouseEnter += (object sender, MouseEventArgs e) => {
                if (b_拖曳 && e.LeftButton == MouseButtonState.Pressed)
                {
                    U_分頁_item x = ((U_分頁_item)sender);

                    String x2 = b_but_text.Text;
                    b_but_text.Text = x.Text;

                    ((U_分頁_item)sender).Text = x2;

                    //交換顏色
                    func_修改顏色_預設(b_but_text);
                    func_修改顏色_選中((U_分頁_item)sender);


                    b_but_text = x;
                }
                else
                {
                    if (sender != b_but_text)
                    {
                        func_修改顏色_移入((U_分頁_item)sender);
                    }
                }
            };


            but.MouseLeave += (object sender, MouseEventArgs e) => {
                if (sender == b_but_text)
                {
                    func_修改顏色_選中((U_分頁_item)sender);
                }
                else
                {
                    func_修改顏色_預設((U_分頁_item)sender);
                }
            };
        }
Exemple #7
0
        /// <summary>
        /// 重新產生分頁的頁籖
        /// </summary>
        public void func_分頁重新整理(bool bool_第一次執行 = false)
        {
            func_單層目錄();


            if (bool_第一次執行 == false)
            {
                //儲存目前的設定值
                SET.s_資料夾順序    = func_取得資料夾順序();
                SET.s_目前選取的資料夾 = c_分頁.b_but_text.Text;
            }


            String s_dir = func_取得儲存根目錄();

            //讀取
            List <String> ar_dir = new List <string>();

            //之前儲存的設定值
            foreach (var item in SET.s_資料夾順序.Split('\t'))
            {
                if (item.Trim() != "")
                {
                    if (Directory.Exists(s_dir + "\\" + item.Trim()))
                    {
                        ar_dir.Add(item);
                    }
                }
            }


            //實際存在的資料夾
            String[] ar_file = Directory.GetDirectories(s_dir);
            Array.Sort(ar_file, new Sort_自然排序_正());//自然排序

            foreach (var item in ar_file)
            {
                String s2 = System.IO.Path.GetFileName(item);
                if (Directory.Exists(item))
                {
                    if (ar_dir.Contains(s2) == false)
                    {
                        ar_dir.Add(s2);
                    }
                }
            }

            //如果沒有子資料夾
            if (ar_dir.Count == 0)
            {
                //新增資料夾
                if (bool_單層儲存路徑 == false)
                {
                    Directory.CreateDirectory(s_dir + "\\" + "New Folder 1");
                }

                ar_dir.Add("New Folder 1");
            }


            //刪除所有項目
            c_分頁.fun_delete_all();

            foreach (var item in ar_dir)
            {
                var bu = new U_分頁_item {
                    Text = item
                };
                bu.func_初始化(this);
                c_分頁.fun_addEvent(bu);

                if (item == SET.s_目前選取的資料夾)
                {
                    c_分頁.fun_SetSelect(bu);
                }
            }

            //如果都沒有選擇任何頁籖,就用選擇第一個
            if (c_分頁.b_but_text == null)
            {
                c_分頁.fun_SetSelect((U_分頁_item)stackPanel_1.Children[0]);
            }


            //儲存目前的設定值
            SET.s_資料夾順序    = func_取得資料夾順序();
            SET.s_目前選取的資料夾 = c_分頁.b_but_text.Text;
        }