示例#1
0
        private void LoadArrayDragDrog(string[] array, FlowLayoutPanel flow)
        {
            foreach (var item in array)
            {
                if (item.GetType() == typeof(string))
                {
                    Debug.WriteLine("item: {" + item + "}");
                }

                if (File.Exists(item))
                {
                    ImagenBox sprite = new ImagenBox()
                    {
                        Width     = _ancho,
                        Height    = _alto,
                        BackColor = Color.BurlyWood,
                        SizeMode  = PictureBoxSizeMode.StretchImage,
                        Tag       = item,
                        //Image = (Image)Utilities.Image.FromFile(item).Clone(),
                    };
                    sprite.FromFile(item);
                    sprite.SetCurrentFrame = (int)sprite.Count / 2;
                    //sprite.Tag = fileInfo.FullName;
                    //sprite.Image = (Image)Image.FromFile(fileInfo.FullName).Clone();
                    sprite.SizeMode    = PictureBoxSizeMode.Zoom;
                    sprite.Click      += sprite_Click;
                    sprite.MouseClick += sprite_MouseClick;
                    lock (flow)
                    {
                        flowControlsAdd(sprite, flow);
                    }
                }
            }
        }
示例#2
0
 private void AddSpriteToControlFlowLayoutPane()
 {
     if (_listaficheros != null)
     {
         //flowLayoutPanel.Controls.Clear();
         while (ContadorActual < LimtConatrols)
         {
             ImagenBox pn = new ImagenBox()
             {
                 Width  = 220,
                 Height = 110,
             };
             pn.DoubleClick += pn_DoubleClick;
             pn.Tag          = _listaficheros[Index];
             pn.FromFile(_listaficheros[Index]);
             pn.SetCurrentFrame = (int)Math.Floor((decimal)(pn.Count / 2));
             if (Index < _listaficheros.Count - 1)
             {
                 Index++;
             }
             else
             {
                 Index = 0;
             }
             Invoke(new Action(() => AddSprite(pn)));
             ContadorActual++;
         }
         ContadorActual = 0;
     }
 }
示例#3
0
 private void LoadImagesFromDirectoryAll(DirectoryInfo dir, FlowLayoutPanel flow)
 {
     foreach (FileInfo fileInfo in dir.GetFiles())
     {
         if (fileInfo.Extension == ".gif" || fileInfo.Extension == ".GIF")
         {
             ImagenBox sprite = new ImagenBox()
             {
                 Width     = _ancho,
                 Height    = _alto,
                 BackColor = Color.BurlyWood,
                 SizeMode  = PictureBoxSizeMode.StretchImage,
                 Tag       = fileInfo.FullName,
                 //Image = Utilities.Image.FromFile(fileInfo.FullName),
                 //Image = (Image)Image.FromFile(fileInfo.FullName).Clone(),
             };
             sprite.FromFile(fileInfo.FullName);
             sprite.SetCurrentFrame = (int)sprite.Count / 2;
             //sprite.Tag = fileInfo.FullName;
             //sprite.Image = (Image)Image.FromFile(fileInfo.FullName).Clone();
             sprite.SizeMode    = PictureBoxSizeMode.Zoom;
             sprite.Click      += sprite_Click;
             sprite.MouseClick += sprite_MouseClick;
             flowControlsAdd(sprite, flow);
         }
     }
 }
示例#4
0
        private void sprite_MouseClick(object sender, MouseEventArgs e)
        {
            ImagenBox sprite = (ImagenBox)sender;

            CurrentFilePath = sprite.Tag.ToString();
            string filesearch = GetFileNameFromString(sprite.Tag.ToString());

            CurrentFile = filesearch;
            Debug.WriteLine("sprite nombre -> " + sprite.Tag.ToString());
            toolStripMenuItemPlay.Enabled = true;
            if (e.Button == MouseButtons.Right)
            {
                Debug.Write("sprite_mouseclick_right");
                Debug.WriteLine(", sprite a eliminar con nombre : " + sprite.Tag.ToString());
                //propertyGrid1.SelectedObject = null;
                //tabControl1.SelectedTab.Controls[0].Controls.Remove(sprite); //todo revisar.
            }

            if (e.Button == MouseButtons.Left)
            {
                Debug.Write("sprite_mouseclick_left");
                Debug.WriteLine(", name = " + sprite.Tag.ToString());
                toolStripStatusLabel1.Text = sprite.Tag.ToString();
                if (Form.ModifierKeys == Keys.Control)
                {
                    //abrir formulario con la imagen.
                    FGif fgif = new FGif();
                    Size size = new Size(sprite.Imagen.Width, sprite.Imagen.Height);
                    fgif.Size        = size;
                    fgif.ImageToView = sprite.Imagen;
                    fgif.Tag         = sprite.Tag;
                    fgif.Show();
                    Debug.WriteLine("sprite_mouseClick_left + Key-Control: presed");
                }

                if (Form.ModifierKeys == Keys.Alt)
                {
                    if (Path.GetExtension(filesearch).Equals(".gif"))
                    {
                        MessageBox.Show("OOOfff");
                        return;
                    }

                    Search control = new Search()
                    {
                        SearchString = filesearch,
                        AutoProcess  = true
                    };
                    control.Start();
                    Debug.WriteLine("sprite_mouseClick_left + Key-Alt: process");
                }

                if (Form.ModifierKeys == Keys.Shift)
                {
                    tabControl1.SelectedTab.Controls[0].Controls.Remove(sprite);
                    Debug.WriteLine("delete picture con Key -> Shift:");
                }
            }
        }
示例#5
0
 void AddSprite(ImagenBox pn)
 {
     if (flowLayoutPanel.Controls.Count > LimtConatrols - 1)
     {
         flowLayoutPanel.Controls.RemoveAt(0);
     }
     flowLayoutPanel.Controls.Add(pn);
 }
示例#6
0
        /// <summary>
        /// Deserializa la lista de gif comprobando si existen. call to LoadList
        /// </summary>
        /// <param name="fileName"></param>
        private void LoadList(string fileName, FlowLayoutPanel flow)
        {
            List <string> list = null;

            if (!File.Exists(fileName))
            {
                return;                 //si el fichero no existe esto no sirve.
            }
            XmlSerializer s = new XmlSerializer(typeof(List <string>));

            //, new Type[] { typeof(Prueba), typeof(PointF[]), typeof(PointU[]) });
            using (TextReader r = new StreamReader(fileName))
            {
                try
                {
                    list = (List <string>)s.Deserialize(r);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.ToString());
                }
            }

            foreach (var item in list)
            {
                if (item.GetType() == typeof(string))
                {
                    Debug.WriteLine("item: {" + item + "}");
                }

                if (File.Exists(item))
                {
                    ImagenBox sprite = new ImagenBox()
                    {
                        Width     = _ancho,
                        Height    = _alto,
                        BackColor = Color.BurlyWood,
                        SizeMode  = PictureBoxSizeMode.StretchImage,
                        Tag       = item,
                        //Image = (Image)Utilities.Image.FromFile(item).Clone(),
                    };
                    sprite.FromFile(item);
                    sprite.SetCurrentFrame = (int)sprite.Count / 2;
                    //sprite.Tag = fileInfo.FullName;
                    //sprite.Image = (Image)Image.FromFile(fileInfo.FullName).Clone();
                    sprite.SizeMode    = PictureBoxSizeMode.Zoom;
                    sprite.Click      += sprite_Click;
                    sprite.MouseClick += sprite_MouseClick;
                    lock (flow)
                    {
                        flowControlsAdd(sprite, flow);
                    }
                }
            }
        }
示例#7
0
        private void sprite_Click(Object sender, EventArgs e)
        {
            Debug.WriteLine("sprite_Click");
            ImagenBox sprite = (ImagenBox)sender;

            CurrentFilePath = sprite.Tag.ToString();
            Debug.WriteLine("name = " + CombineAddressFileMovie(sprite.Tag.ToString()));
            //pictureBox1.Image = sprite.Sprite;
            //propertyGrid1.SelectedObject = sprite;
            //ctrlSearch1.SearchString = GetFileNameFromString(sprite.FileSprite);
        }
示例#8
0
 private void flowControlsAdd(ImagenBox sprite, FlowLayoutPanel flow)
 {
     if (this.InvokeRequired)
     {
         setcallBackflowLayout call = new setcallBackflowLayout(flowControlsAdd);
         this.Invoke(call, new object[] { sprite, flow });
     }
     else
     {
         flow.Controls.Add(sprite);                //todo: buscar el tabpage selected
         TabPage tabpage = (TabPage)flow.Parent;
         this.Text = @"ShowGif: -" + tabpage.Text + "-" + tabpage.Controls[0].Controls.Count.ToString() + " items";
         //flowLayoutPanel1.Refresh();
     }
 }
示例#9
0
        private void pn_DoubleClick(object sender, EventArgs e)
        {
            ImagenBox pn = (ImagenBox)sender;
            string    CurrentFilePath = pn.Tag.ToString();

            if (String.IsNullOrEmpty(CurrentFilePath))
            {
                return;
            }
            string movie = CombineAddressFileMovie(CurrentFilePath);

            if (File.Exists(movie))
            {
                Process.Start(movie);
            }
        }
示例#10
0
        private void toolStripScull_Click(object sender, EventArgs e)
        {
            //TODO enlazar el wolker con la pagina activa.
            FlowLayoutPanel flow = (FlowLayoutPanel)tabControl1.SelectedTab.Controls[0];

            if (flow.Controls.Count == 0)
            {
                return;
            }
            ImagenBox picture = (ImagenBox)flow.Controls[0];

            if (picture != null)
            {
                string direccion = picture.Tag.ToString();
                InicializaWolker(PathNivel(Path.GetDirectoryName(direccion), 1), 1);
            }
        }
示例#11
0
        public void AddFileFoundedSeached(FileInfo file)
        {
            Debug.WriteLine($"addfilefoundedseached {file.FullName}");
            _flowsearch = (FlowLayoutPanel)tabControl1.SelectedTab.Controls[0];
            try
            {
                if (file != null && (file.Extension == ".gif" || file.Extension == ".GIF"))
                {
                    ImagenBox sprite = new ImagenBox()
                    {
                        Width     = _ancho,
                        Height    = _alto,
                        BackColor = Color.BurlyWood,
                        SizeMode  = PictureBoxSizeMode.StretchImage,
                        Tag       = file.FullName,
                        //Image = Utilities.Image.FromFile(file.FullName),
                        //Image = (Image)Image.FromFile(fileInfo.FullName).Clone(),
                    };
                    sprite.FromFile(file.FullName);
                    sprite.SetCurrentFrame = (int)sprite.Count / 2;
                    //sprite.Tag = fileInfo.FullName;
                    //sprite.Image = (Image)Image.FromFile(fileInfo.FullName).Clone();
                    sprite.SizeMode    = PictureBoxSizeMode.Zoom;
                    sprite.Click      += sprite_Click;
                    sprite.MouseClick += sprite_MouseClick;
                    _flowsearch.Controls.Add(sprite);
                    TabPage tabpage = (TabPage)_flowsearch.Parent;
                    this.Text = @"ShowGif: -" + tabpage.Text + "-" + tabpage.Controls[0].Controls.Count.ToString() + " items";
                }

                _flowsearch.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + ex.ToString());
            }
        }