Пример #1
0
        protected virtual void OnRenderItemImage(ToolStripItemImageRenderEventArgs e)
        {
            bool  need_dispose = false;
            Image i            = e.Image;

            if (e.Item.RightToLeft == RightToLeft.Yes && e.Item.RightToLeftAutoMirrorImage == true)
            {
                i            = CreateMirrorImage(i);
                need_dispose = true;
            }

            if (e.Item.ImageTransparentColor != Color.Empty)
            {
                ImageAttributes ia = new ImageAttributes();
                ia.SetColorKey(e.Item.ImageTransparentColor, e.Item.ImageTransparentColor);
                e.Graphics.DrawImage(i, e.ImageRectangle, 0, 0, i.Width, i.Height, GraphicsUnit.Pixel, ia);
                ia.Dispose();
            }
            else
            {
                e.Graphics.DrawImage(i, e.ImageRectangle);
            }

            if (need_dispose)
            {
                i.Dispose();
            }

            ToolStripItemImageRenderEventHandler eh = (ToolStripItemImageRenderEventHandler)Events [RenderItemImageEvent];

            if (eh != null)
            {
                eh(this, e);
            }
        }
Пример #2
0
        protected virtual void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e)
        {
            ToolStripItemImageRenderEventHandler eh = (ToolStripItemImageRenderEventHandler)Events [RenderItemCheckEvent];

            if (eh != null)
            {
                eh(this, e);
            }
        }
        /// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// toolstripitemimagerendereventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this ToolStripItemImageRenderEventHandler toolstripitemimagerendereventhandler, Object sender, ToolStripItemImageRenderEventArgs e, AsyncCallback callback)
        {
            if (toolstripitemimagerendereventhandler == null)
            {
                throw new ArgumentNullException("toolstripitemimagerendereventhandler");
            }

            return(toolstripitemimagerendereventhandler.BeginInvoke(sender, e, callback, null));
        }
        public void DrawItemImage(ToolStripItemImageRenderEventArgs e)
        {
            this.OnRenderItemImage(e);
            ToolStripItemImageRenderEventHandler handler = this.Events[EventRenderItemImage] as ToolStripItemImageRenderEventHandler;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Пример #5
0
        /// <include file='doc\WinBarRenderer.uex' path='docs/doc[@for="ToolStripRenderer.DrawItemCheck"]/*' />
        /// <devdoc>
        /// Draw image
        /// </devdoc>
        public void DrawItemCheck(ToolStripItemImageRenderEventArgs e)
        {
            OnRenderItemCheck(e);

            ToolStripItemImageRenderEventHandler eh = Events[EventRenderItemCheck] as ToolStripItemImageRenderEventHandler;

            if (eh != null)
            {
                eh(this, e);
            }
        }
Пример #6
0
        public void ToolStripRenderer_DrawItemImage_Invoke_CallsRenderItemImage(Graphics graphics, ToolStripItem item, Image image, Rectangle imageRectangle)
        {
            var eventArgs = new ToolStripItemImageRenderEventArgs(graphics, item, image, imageRectangle);

            var renderer  = new SubToolStripRenderer();
            int callCount = 0;
            ToolStripItemImageRenderEventHandler handler = (sender, e) =>
            {
                Assert.Same(renderer, sender);
                Assert.Same(eventArgs, e);
                callCount++;
            };

            // Call with handler.
            renderer.RenderItemImage += handler;
            renderer.DrawItemImage(eventArgs);
            Assert.Equal(1, callCount);

            // Remove handler.
            renderer.RenderItemImage -= handler;
            renderer.DrawItemImage(eventArgs);
            Assert.Equal(1, callCount);
        }