コード例 #1
0
ファイル: JIconListView.cs プロジェクト: liuzhonglei/JadeUI
 /// <summary>
 /// 清空当前列表选择的项
 /// </summary>
 private void ClearSelectItem()
 {
     if (_SelectItem != null)
     {
         this.Invalidate(new Rectangle(
                             _SelectItem.Bounds.X, _SelectItem.Bounds.Y - vscroll.Value,
                             _SelectItem.Bounds.Width, _SelectItem.Bounds.Height));
         _SelectItem = null;
     }
 }
コード例 #2
0
ファイル: JIconListView.cs プロジェクト: liuzhonglei/JadeUI
        /// <summary>
        /// 绘制列表项
        /// </summary>
        /// <author>jaly</author>
        /// <date>2015-09-23 09:28:43</date>
        /// <param name="g">绘图表面</param>
        /// <param name="item">要绘制的列表项</param>
        /// <param name="rect"></param>
        /// <returns></returns>
        protected virtual void DrawItem(Graphics g, JIconListViewItem item, Rectangle rect)
        {
            //g.DrawRectangle(Pens.Azure, rect);
            if (item.Icon != null)
            {
                g.DrawImage(item.Icon, new Rectangle(rect.X + ((_ItemSize.Width - _IconSize.Width) / 2), rect.Y, _IconSize.Width, _IconSize.Height), new Rectangle(new Point(), item.Icon.Size), GraphicsUnit.Pixel);
            }
            var fr = rect;

            fr.Y += _IconSize.Height + 4;
            g.DrawString(item.Text, Font, new SolidBrush(ForeColor), fr, stringformat);

            //TextFormatFlags format = TextFormatFlags.EndEllipsis | TextFormatFlags.VerticalCenter;
            //if (RightToLeft == RightToLeft.Yes)
            //{
            //    format |= TextFormatFlags.RightToLeft | TextFormatFlags.Right;
            //}
            //TextRenderer.DrawText(g, item.Text, Font, rect, ForeColor, format);
        }
コード例 #3
0
ファイル: JIconListView.cs プロジェクト: liuzhonglei/JadeUI
 protected override void OnClick(EventArgs e)
 {
     if (vscroll.IsMouseDown)
     {
         return;                                     //MouseUp事件触发在Click后 滚动条滑块为点下状态 单击无效
     }
     if (vscroll.ShouldBeDraw)
     {                     //如果有滚动条 判断是否在滚动条类点击
         if (vscroll.Bounds.Contains(m_ptMousePos))
         {                 //判断在滚动条那个位置点击
             if (vscroll.UpBounds.Contains(m_ptMousePos))
             {
                 vscroll.Value -= 50;
             }
             else if (vscroll.DownBounds.Contains(m_ptMousePos))
             {
                 vscroll.Value += 50;
             }
             else if (!vscroll.SliderBounds.Contains(m_ptMousePos))
             {
                 vscroll.MoveSliderToLocation(m_ptMousePos.Y);
             }
             return;
         }
     }            //否则 如果在列表上点击 展开或者关闭 在子项上面点击则选中
     ClearSelectItem();
     foreach (JIconListViewItem item in _Items)
     {
         if (item.Bounds.Contains(m_ptMousePos))
         {
             _SelectItem = item;
             Invalidate();
         }
     }
     base.OnClick(e);
 }
コード例 #4
0
ファイル: JIconListView.cs プロジェクト: liuzhonglei/JadeUI
 public JIconListViewEventArgs(JIconListViewItem selectitem)
 {
     _selectItem = selectitem;
 }
コード例 #5
0
ファイル: JIconListView.cs プロジェクト: liuzhonglei/JadeUI
 public void AddItem(JIconListViewItem item)
 {
     _Items.Add(item);
 }