Source/ItemsListBox.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace DevComponents.DotNetBar
{
	using System;
	using System.Windows.Forms;
	using System.Collections;

	/// <summary>
	///		
	/// </summary>
	internal class ItemsListBox : System.Windows.Forms.ListBox
	{
		private ArrayList m_Items;
		internal eDotNetBarStyle Style=eDotNetBarStyle.Office2003;
		internal ItemsListBox()
		{
			this.DrawMode=DrawMode.OwnerDrawFixed;
			m_Items=null;
			this.IntegralHeight=false;
			this.BackColor=System.Drawing.SystemColors.Control;
		}

		protected override void OnDrawItem(DrawItemEventArgs e)
		{
			base.OnDrawItem(e);
			if(m_Items==null || e.Index<0)
				return;

			BaseItem objItem=this.Items[e.Index] as BaseItem;
			e.DrawBackground();
			if(objItem==null)
			{
				//e.DrawBackground();
				return;
			}
			objItem.LeftInternal=e.Bounds.Left;
			objItem.TopInternal=e.Bounds.Top;
			
			objItem.WidthInternal=e.Bounds.Width;

            if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
            {
                objItem.InternalMouseEnter();
                objItem.InternalMouseMove(new MouseEventArgs(MouseButtons.None, 0, objItem.LeftInternal + 2, objItem.TopInternal + 2, 0));
            }
			ItemPaintArgs pa=new ItemPaintArgs(null,this,e.Graphics,new ColorScheme(Style)); // TODO: ADD COLOR SCHEME
            pa.Renderer = GetRenderer();
			objItem.Paint(pa);

			if((e.State & DrawItemState.Selected)==DrawItemState.Selected)
				objItem.InternalMouseLeave();
		}
        /// <summary>
        /// Returns the renderer control will be rendered with.
        /// </summary>
        /// <returns>The current renderer.</returns>
        private Rendering.BaseRenderer GetRenderer()
        {
            return Rendering.GlobalManager.Renderer;
        }

后面还有 30 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。