Пример #1
0
        private void CustomFaceForm_Click(object sender, EventArgs e)
        {
            MouseEventArgs me = (MouseEventArgs)e;

            int bx = ((me.X - StartX)) / CustomFaceManager.IconSize;
            int by = ((me.Y - StartY)) / CustomFaceManager.IconSize;

            int index = by * LineItemCount + bx;

            if (bx < LineItemCount && by < LineCount && index < LineCount * LineItemCount)
            {
                index += m_pageIndex * LineItemCount * LineCount;
                m_item = CustomFaceManager.GetItem(index);

                if (SelectItem != null)
                {
                    SelectItem(this, e);
                }

                if (me.Button == MouseButtons.Left)
                {
                    Close();
                }
            }
        }
Пример #2
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);

            int bx = ((e.X - StartX)) / CustomFaceManager.IconSize;
            int by = ((e.Y - StartY)) / CustomFaceManager.IconSize;

            int index = by * LineItemCount + bx;

            if (bx < LineItemCount && by < LineCount && index < LineCount * LineItemCount)
            {
                index += m_pageIndex * LineItemCount * LineCount;

                if (m_pageIndex == index)
                {
                    return;
                }

                CustomFaceItem item = CustomFaceManager.GetItem(index);

                if (item != null)
                {
                    if (m_preview_pbx.Image != null)
                    {
                        m_preview_pbx.Image.Dispose();
                    }

                    string path = Path.Combine(DataManager.GetCustomFaceFolderPath(), item.Filename);
                    Bitmap img  = new Bitmap(path);
                    m_preview_pbx.Image = img;

                    m_preview_idx         = index;
                    m_preview_pbx.Visible = true;

                    if (img.Width < m_preview_pbx.Width && img.Height < m_preview_pbx.Height)
                    {
                        m_preview_pbx.SizeMode = PictureBoxSizeMode.CenterImage;
                    }
                    else
                    {
                        m_preview_pbx.SizeMode = PictureBoxSizeMode.Zoom;
                    }

                    if (bx > LineItemCount / 2)
                    {
                        m_preview_pbx.Location = new Point(0, 0);
                    }
                    else
                    {
                        m_preview_pbx.Location = new Point(this.Size.Width - m_preview_pbx.Size.Width, 0);
                    }
                }
            }
            else
            {
                m_preview_idx         = -1;
                m_preview_pbx.Visible = false;
            }
        }