WindowsMobile如何自定义一个ToolBar?[币多理财助手部分源码]


如图ToolBar,效果还是很不错的,这样的控件如何实现呢?

其实也很简单!整个控件由3个部分组成:

1、ImageLinkBar  ,图形按钮控件。上图的ToolBar就是由6个这样的图形按钮组成。

2、UCToolBar, UserControl组件,上面放6个ImageLinkBar。

3、UCTip, UserControl组件,用于显示提示消息。如上图,点种第三个图标不放,将显示一个消息框,提示是删除按钮。


现在整理代码如下:


using System;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

 
namespace PTool
{
    public class ImageLinkBar : Control
    {
        private IImage imageIcon;           //IImage类 网上可以找到
        private IImage imageBackActive;
        private IImage imageBack;
        private bool isSelected;
        private bool isPressed;
        private Bitmap m_bmpMemoire;
        private Graphics gxMemoire;

        public IImage ImageIcon
        {
            get
            {
                return imageIcon;
            }
            set
            {
                imageIcon = value;
                this.Invalidate();
            }
        }

        public IImage ImageBackActive
        {
            get
            {
                return imageBackActive;
            }
            set
            {
                imageBackActive = value;
                this.Invalidate();
            }
        }

        public IImage ImageBack
        {
            get
            {
                return imageBack;
            }
            set
            {
                imageBack = value;
                this.Invalidate();
            }
        }

        public ImageLinkBar()
            : base()
        {
        }


        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {
            if (m_bmpMemoire == null)
            {
                m_bmpMemoire = new Bitmap(ClientSize.Width, ClientSize.Height);
            }
            gxMemoire = Graphics.FromImage(m_bmpMemoire);
            if (SystemConfig.IsWM65)  //WM6.5手机,主题风格与众不同哦
            {
                GradientStyle.Fill(
                       gxMemoire,
                       this.ClientRectangle,
                       System.Drawing.SystemColors.Control,
                       System.Drawing.SystemColors.WindowFrame,
                       GradientStyle.FillDirection.TopToBottom);
            }
            else
            {
                GradientStyle.Fill(
                      gxMemoire,
                      this.ClientRectangle,
                      System.Drawing.SystemColors.Window,
                      System.Drawing.SystemColors.ActiveCaption,
                      GradientStyle.FillDirection.TopToBottom);
            }

            IntPtr hdcDest = gxMemoire.GetHdc();
            Rectangle dstRect = new Rectangle(0, 0, ClientSize.Width, ClientSize.Height);

            if (isPressed)
            {
                if (imageBackActive != null)
                    imageBackActive.Draw(hdcDest, ref dstRect, IntPtr.Zero);
            }
            else if (isSelected)
            {
                if (imageBack != null)
                    imageBack.Draw(hdcDest, ref dstRect, IntPtr.Zero);
            }

            if (imageIcon != null)
            {
                if (SystemConfig.IsHVGA)   //如何判断是不是HVGA手机,就不用说了吧
                    dstRect = new Rectangle((ClientSize.Width - 32 * 2) / 2, (ClientSize.Height - 32 * 2) / 2, (ClientSize.Width + 32 * 2) / 2, (ClientSize.Height + 32 * 2) / 2);
                else
                    dstRect = new Rectangle((ClientSize.Width - 24 * 2) / 2, (ClientSize.Height - 24 * 2) / 2, (ClientSize.Width + 24 * 2) / 2, (ClientSize.Height + 24 * 2) / 2);
                imageIcon.Draw(hdcDest, ref dstRect, IntPtr.Zero);
            }
            gxMemoire.ReleaseHdc(hdcDest);
 
            e.Graphics.DrawImage(m_bmpMemoire, 0, 0);
            gxMemoire.Dispose();
            base.OnPaint(e);
        }

        protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
        {
            base.OnMouseDown(e);
            this.Focus();
            isSelected = true;
            isPressed = true;
            this.Invalidate();
        }

        protected override void OnMouseUp(System.Windows.Forms.MouseEventArgs e)
        {
            base.OnMouseUp(e);
            isPressed = false;
            this.Invalidate();
        }

        protected override void OnGotFocus(System.EventArgs e)
        {
            base.OnGotFocus(e);
            isSelected = true;
            this.Invalidate();
        }

        protected override void OnLostFocus(System.EventArgs e)
        {
            base.OnLostFocus(e);
            isSelected = false;
            this.Invalidate();
        }

        protected override void OnClick(System.EventArgs e)
        {
            base.OnClick(e);
            this.Invalidate();
        }

        protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs e)
        {
            base.OnKeyPress(e);
            if (!e.Handled)
            {
                switch (Convert.ToInt32(e.KeyChar))
                {
                    case (int)Keys.Enter:
                    case (int)Keys.Space:
                        {
                            this.OnClick(null);
                            break;
                        }
                }
            }
        }

        protected override void OnResize(System.EventArgs e)
        {
            base.OnResize(e);
            if (m_bmpMemoire != null)
            {
                m_bmpMemoire.Dispose();
                m_bmpMemoire = null;
            }
            this.Invalidate();
        }

        protected override void OnEnabledChanged(System.EventArgs e)
        {
            base.OnEnabledChanged(e);
            this.Invalidate();
        }

    }
}


UCTip.designer.cs

namespace PTool
{
    partial class UCTip
    {
        /// <summary> 
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary> 
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region 组件设计器生成的代码

        /// <summary> 
        /// 设计器支持所需的方法 - 不要
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.labelText = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // labelText
            // 
            this.labelText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                        | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.labelText.Location = new System.Drawing.Point(0, 2);
            this.labelText.Name = "labelText";
            this.labelText.Size = new System.Drawing.Size(147, 21);
            this.labelText.TextAlign = System.Drawing.ContentAlignment.TopCenter;
            // 
            // UCTip
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
            this.BackColor = System.Drawing.SystemColors.Window;
            this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.Controls.Add(this.labelText);
            this.Name = "UCTip";
            this.Size = new System.Drawing.Size(148, 24);
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.Label labelText;
    }
}

UCTip.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace PTool
{
    public partial class UCTip : UserControl
    {
        public UCTip()
        {
            InitializeComponent();
        }
        public string Text
        {
            get
            {
                return labelText.Text;
            }
            set
            {
                labelText.Text = value;
                this.Invalidate();
            }
        }

        public event EventHandler Close;
        protected void OnClose(EventArgs e)
        {
            if (this.Close != null)
            {
                this.Close(this, e);
            }
        }
    }
}

UCToolBar.designer.cs

namespace PTool
{
    partial class UCToolBar
    {
        /// <summary> 
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary> 
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region 组件设计器生成的代码

        /// <summary> 
        /// 设计器支持所需的方法 - 不要
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.imageLink6 = new PTool.ImageLinkBar();
            this.imageLink5 = new PTool.ImageLinkBar();
            this.imageLink4 = new PTool.ImageLinkBar();
            this.imageLink3 = new PTool.ImageLinkBar();
            this.imageLink2 = new PTool.ImageLinkBar();
            this.imageLink1 = new PTool.ImageLinkBar();
            this.SuspendLayout();
            // 
            // imageLink6
            // 
            this.imageLink6.Location = new System.Drawing.Point(200, 0);
            this.imageLink6.Name = "imageLink6";
            this.imageLink6.Size = new System.Drawing.Size(40, 40);
            this.imageLink6.TabIndex = 5;
            this.imageLink6.Text = "imageLink6";
            this.imageLink6.Click += new System.EventHandler(this.imageLink6_Click);
            this.imageLink6.MouseDown += new System.Windows.Forms.MouseEventHandler(this.common_MouseDown);
            this.imageLink6.MouseUp += new System.Windows.Forms.MouseEventHandler(this.common_MouseUp);
            // 
            // imageLink5
            // 
            this.imageLink5.Location = new System.Drawing.Point(160, 0);
            this.imageLink5.Name = "imageLink5";
            this.imageLink5.Size = new System.Drawing.Size(40, 40);
            this.imageLink5.TabIndex = 4;
            this.imageLink5.Text = "imageLink5";
            this.imageLink5.Click += new System.EventHandler(this.imageLink5_Click);
            this.imageLink5.MouseDown += new System.Windows.Forms.MouseEventHandler(this.common_MouseDown);
            this.imageLink5.MouseUp += new System.Windows.Forms.MouseEventHandler(this.common_MouseUp);
            // 
            // imageLink4
            // 
            this.imageLink4.Location = new System.Drawing.Point(120, 0);
            this.imageLink4.Name = "imageLink4";
            this.imageLink4.Size = new System.Drawing.Size(40, 40);
            this.imageLink4.TabIndex = 3;
            this.imageLink4.Text = "imageLink4";
            this.imageLink4.Click += new System.EventHandler(this.imageLink4_Click);
            this.imageLink4.MouseDown += new System.Windows.Forms.MouseEventHandler(this.common_MouseDown);
            this.imageLink4.MouseUp += new System.Windows.Forms.MouseEventHandler(this.common_MouseUp);
            // 
            // imageLink3
            // 
            this.imageLink3.Location = new System.Drawing.Point(80, 0);
            this.imageLink3.Name = "imageLink3";
            this.imageLink3.Size = new System.Drawing.Size(40, 40);
            this.imageLink3.TabIndex = 2;
            this.imageLink3.Text = "imageLink3";
            this.imageLink3.Click += new System.EventHandler(this.imageLink3_Click);
            this.imageLink3.MouseDown += new System.Windows.Forms.MouseEventHandler(this.common_MouseDown);
            this.imageLink3.MouseUp += new System.Windows.Forms.MouseEventHandler(this.common_MouseUp);
            // 
            // imageLink2
            // 
            this.imageLink2.Location = new System.Drawing.Point(40, 0);
            this.imageLink2.Name = "imageLink2";
            this.imageLink2.Size = new System.Drawing.Size(40, 40);
            this.imageLink2.TabIndex = 1;
            this.imageLink2.Text = "imageLink2";
            this.imageLink2.Click += new System.EventHandler(this.imageLink2_Click);
            this.imageLink2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.common_MouseDown);
            this.imageLink2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.common_MouseUp);
            // 
            // imageLink1
            // 
            this.imageLink1.Location = new System.Drawing.Point(0, 0);
            this.imageLink1.Name = "imageLink1";
            this.imageLink1.Size = new System.Drawing.Size(40, 40);
            this.imageLink1.TabIndex = 0;
            this.imageLink1.Text = "imageLink1";
            this.imageLink1.Click += new System.EventHandler(this.imageLink1_Click);
            this.imageLink1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.common_MouseDown);
            this.imageLink1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.common_MouseUp);
            // 
            // UCToolBar
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
            this.Controls.Add(this.imageLink6);
            this.Controls.Add(this.imageLink5);
            this.Controls.Add(this.imageLink4);
            this.Controls.Add(this.imageLink3);
            this.Controls.Add(this.imageLink2);
            this.Controls.Add(this.imageLink1);
            this.Name = "UCToolBar";
            this.Size = new System.Drawing.Size(240, 40);
            this.Paint += new System.Windows.Forms.PaintEventHandler(this.UCToolBar_Paint);
            this.ResumeLayout(false);

        }

        #endregion

        private ImageLinkBar imageLink1;
        private ImageLinkBar imageLink2;
        private ImageLinkBar imageLink3;
        private ImageLinkBar imageLink4;
        private ImageLinkBar imageLink5;
        private ImageLinkBar imageLink6;
    }
}

UCToolBar.cs


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace PTool
{
    public partial class UCToolBar : UserControl
    {
        private IImage imageIcon1;
        private IImage imageIcon2;
        private IImage imageIcon3;
        private IImage imageIcon4;
        private IImage imageIcon5;
        private IImage imageIcon6;
        private IImage imageBackActive;
        private IImage imageBack;

        private bool buttonVisiable1 = true;
        private bool buttonVisiable2 = true;
        private bool buttonVisiable3 = true;
        private bool buttonVisiable4 = true;
        private bool buttonVisiable5 = true;
        private bool buttonVisiable6 = true;

        private Point[] pointsPage = new Point[6];
        private UCTip ucTip = new UCTip();

        private Timer timer1 = new Timer();
        private bool track = false;
        private DateTime downTime;
        private ImageLinkBar activeLink = new ImageLinkBar();

        public UCToolBar()
        {
            InitializeComponent();
            ucTip.Hide();
            pointsPage[0] = this.imageLink1.Location;
            pointsPage[1] = this.imageLink2.Location;
            pointsPage[2] = this.imageLink3.Location;
            pointsPage[3] = this.imageLink4.Location;
            pointsPage[4] = this.imageLink5.Location;
            pointsPage[5] = this.imageLink6.Location;
            timer1.Interval = 500;

            timer1.Tick += new System.EventHandler(timer1_Tick);
        }

        public IImage ImageIcon1
        {
            get
            {
                return imageIcon1;
            }
            set
            {
                imageIcon1 = value;
                this.Invalidate();
            }
        }

        public IImage ImageIcon2
        {
            get
            {
                return imageIcon2;
            }
            set
            {
                imageIcon2 = value;
                this.Invalidate();
            }
        }

        public IImage ImageIcon3
        {
            get
            {
                return imageIcon3;
            }
            set
            {
                imageIcon3 = value;
                this.Invalidate();
            }
        }

        public IImage ImageIcon4
        {
            get
            {
                return imageIcon4;
            }
            set
            {
                imageIcon4 = value;
                this.Invalidate();
            }
        }

        public IImage ImageIcon5
        {
            get
            {
                return imageIcon5;
            }
            set
            {
                imageIcon5 = value;
                this.Invalidate();
            }
        }

        public IImage ImageIcon6
        {
            get
            {
                return imageIcon6;
            }
            set
            {
                imageIcon6 = value;
                this.Invalidate();
            }
        }

        public IImage ImageBackActive
        {
            get
            {
                return imageBackActive;
            }
            set
            {
                imageBackActive = value;
                this.Invalidate();
            }
        }

        public IImage ImageBack
        {
            get
            {
                return imageBack;
            }
            set
            {
                imageBack = value;
                this.Invalidate();
            }
        }

        public bool ButtonEnable1
        {
            get
            {
                return imageLink1.Enabled;
            }
            set
            {
                imageLink1.Enabled = value;
                this.Invalidate();
            }
        }

        public bool ButtonEnable2
        {
            get
            {
                return imageLink2.Enabled;
            }
            set
            {
                imageLink2.Enabled = value;
                this.Invalidate();
            }
        }

        public bool ButtonEnable3
        {
            get
            {
                return imageLink3.Enabled;
            }
            set
            {
                imageLink3.Enabled = value;
                this.Invalidate();
            }
        }

        public bool ButtonEnable4
        {
            get
            {
                return imageLink4.Enabled;
            }
            set
            {
                imageLink4.Enabled = value;
                this.Invalidate();
            }
        }

        public bool ButtonEnable5
        {
            get
            {
                return imageLink5.Enabled;
            }
            set
            {
                imageLink5.Enabled = value;
                this.Invalidate();
            }
        }

        public bool ButtonEnable6
        {
            get
            {
                return imageLink6.Enabled;
            }
            set
            {
                imageLink6.Enabled = value;
                this.Invalidate();
            }
        }

        public bool ButtonVisiable1
        {
            get
            {
                return buttonVisiable1;
            }
            set
            {
                buttonVisiable1 = value;
                this.Invalidate();
            }
        }

        public bool ButtonVisiable2
        {
            get
            {
                return buttonVisiable2;
            }
            set
            {
                buttonVisiable2 = value;
                this.Invalidate();
            }
        }

        public bool ButtonVisiable3
        {
            get
            {
                return buttonVisiable3;
            }
            set
            {
                buttonVisiable3 = value;
                this.Invalidate();
            }
        }

        public bool ButtonVisiable4
        {
            get
            {
                return buttonVisiable4;
            }
            set
            {
                buttonVisiable4 = value;
                this.Invalidate();
            }
        }

        public bool ButtonVisiable5
        {
            get
            {
                return buttonVisiable5;
            }
            set
            {
                buttonVisiable5 = value;
                this.Invalidate();
            }
        }

        public bool ButtonVisiable6
        {
            get
            {
                return buttonVisiable6;
            }
            set
            {
                buttonVisiable6 = value;
                this.Invalidate();
            }
        }

        public string ButtonText1
        {
            get
            {
                return imageLink1.Text;
            }
            set
            {
                imageLink1.Text = value;
                this.Invalidate();
            }
        }

        public string ButtonText2
        {
            get
            {
                return imageLink2.Text;
            }
            set
            {
                imageLink2.Text = value;
                this.Invalidate();
            }
        }

        public string ButtonText3
        {
            get
            {
                return imageLink3.Text;
            }
            set
            {
                imageLink3.Text = value;
                this.Invalidate();
            }
        }

        public string ButtonText4
        {
            get
            {
                return imageLink4.Text;
            }
            set
            {
                imageLink4.Text = value;
                this.Invalidate();
            }
        }

        public string ButtonText5
        {
            get
            {
                return imageLink5.Text;
            }
            set
            {
                imageLink5.Text = value;
                this.Invalidate();
            }
        }

        public string ButtonText6
        {
            get
            {
                return imageLink6.Text;
            }
            set
            {
                imageLink6.Text = value;
                this.Invalidate();
            }
        }

        public event EventHandler ButtonClick1;
        public event EventHandler ButtonClick2;
        public event EventHandler ButtonClick3;
        public event EventHandler ButtonClick4;
        public event EventHandler ButtonClick5;
        public event EventHandler ButtonClick6;

        private void UCToolBar_Paint(object sender, PaintEventArgs e)
        {
            Graphics buffer = e.Graphics;
            if (SystemConfig.IsWM65)   //WM6.5 手机处理方式
            {
                GradientStyle.Fill(
                       buffer,
                       this.ClientRectangle,
                       System.Drawing.SystemColors.Control,
                       System.Drawing.SystemColors.WindowFrame,
                       GradientStyle.FillDirection.TopToBottom);
            }
            else
            {
                GradientStyle.Fill(
                       buffer,
                       this.ClientRectangle,
                       System.Drawing.SystemColors.Window,
                       System.Drawing.SystemColors.ActiveCaption,
                       GradientStyle.FillDirection.TopToBottom);
            }
            buffer.Dispose();
        }

        public void UpdateControl()
        {
            if (buttonVisiable1)
            {
                imageLink1.ImageIcon = imageIcon1;
                imageLink1.ImageBackActive = imageBackActive;
                imageLink1.ImageBack = imageBack;
                imageLink1.Show();
            }
            else
            {
                imageLink1.Hide();
            }
            if (buttonVisiable2)
            {
                imageLink2.ImageIcon = imageIcon2;
                imageLink2.ImageBackActive = imageBackActive;
                imageLink2.ImageBack = imageBack;
                imageLink2.Show();
            }
            else
            {
                imageLink2.Hide();
            }

            if (buttonVisiable3)
            {
                imageLink3.ImageIcon = imageIcon3;
                imageLink3.ImageBackActive = imageBackActive;
                imageLink3.ImageBack = imageBack;
                imageLink3.Show();
            }
            else
            {
                imageLink3.Hide();
            }
            if (buttonVisiable4)
            {
                imageLink4.ImageIcon = imageIcon4;
                imageLink4.ImageBackActive = imageBackActive;
                imageLink4.ImageBack = imageBack;
                imageLink4.Show();
            }
            else
            {
                imageLink4.Hide();
            }
            if (buttonVisiable5)
            {
                imageLink5.ImageIcon = imageIcon5;
                imageLink5.ImageBackActive = imageBackActive;
                imageLink5.ImageBack = imageBack;
                imageLink5.Show();
            }
            else
            {
                imageLink5.Hide();
            }
            if (buttonVisiable6)
            {
                imageLink6.ImageIcon = imageIcon6;
                imageLink6.ImageBackActive = imageBackActive;
                imageLink6.ImageBack = imageBack;
                imageLink6.Show();
            }
            else
            {
                imageLink6.Hide();
            }

            SetPosition();
        }

        private void SetPosition()
        {
            int i = 0;
            if (imageLink1.Visible)
            {
                imageLink1.Location = pointsPage[i];
                i++;
            }
            if (imageLink2.Visible)
            {
                imageLink2.Location = pointsPage[i];
                i++;
            }
            if (imageLink3.Visible)
            {
                imageLink3.Location = pointsPage[i];
                i++;
            }
            if (imageLink4.Visible)
            {
                imageLink4.Location = pointsPage[i];
                i++;
            }
            if (imageLink5.Visible)
            {
                imageLink5.Location = pointsPage[i];
                i++;
            }
            if (imageLink6.Visible)
            {
                imageLink6.Location = pointsPage[i];
                i++;
            }
        }

        private void imageLink1_Click(object sender, EventArgs e)
        {
            if (this.ButtonClick1 != null)
            {
                this.ButtonClick1(this, e);
            }
        }

        private void imageLink2_Click(object sender, EventArgs e)
        {
            if (this.ButtonClick2 != null)
            {
                this.ButtonClick2(this, e);
            }
        }

        private void imageLink3_Click(object sender, EventArgs e)
        {
            if (this.ButtonClick3 != null)
            {
                this.ButtonClick3(this, e);
            }
        }

        private void imageLink4_Click(object sender, EventArgs e)
        {
            if (this.ButtonClick4 != null)
            {
                this.ButtonClick4(this, e);
            }
        }

        private void imageLink5_Click(object sender, EventArgs e)
        {
            if (this.ButtonClick5 != null)
            {
                this.ButtonClick5(this, e);
            }
        }

        private void imageLink6_Click(object sender, EventArgs e)
        {
            if (this.ButtonClick6 != null)
            {
                this.ButtonClick6(this, e);
            }
        }

        private void common_MouseDown(object sender, MouseEventArgs e)
        {
            track = true;
            activeLink = (ImageLinkBar)sender;
            downTime = DateTime.Now;
            timer1.Enabled = true;
        }

        private void common_MouseUp(object sender, MouseEventArgs e)
        {
            timer1.Enabled = false;
            track = false;
            ucTip.Hide();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (track && DateTime.Now.Subtract(downTime).TotalSeconds > 0.3 && activeLink != null)
            {
                timer1.Enabled = false;
                if (ucTip.Parent == null)
                    this.TopLevelControl.Controls.Add(ucTip);
                ucTip.BringToFront();
                ucTip.Text = activeLink.Text;
                ucTip.Location = new Point((this.Width - ucTip.Width) / 2, this.Top - ucTip.Height - 2 * 2);
                ucTip.Show();
            }
        }
    }
}


代码如有问题,欢迎指正! 呵呵,希望我还记得代码的细节,今天纯粹复制粘贴而已!


如果代码构建有问题,欢迎留言,有时间我一定回复!




  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值