zoukankan      html  css  js  c++  java
  • winform textbox加水印效果

    首先创建一个用户控件名称为WatermakTextBox,让其继承textbox,代码如下:

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

    namespace UpdateSetting
    {
        public partial class WatermakTextBox : TextBox
        {
            private readonly Label lblwaterText = new Label();

            public WatermakTextBox()
            {
                InitializeComponent();
                lblwaterText.BorderStyle = BorderStyle.None;
                lblwaterText.Enabled = false;
                lblwaterText.BackColor =Color.White;
                lblwaterText.AutoSize = false;
                lblwaterText.Top = 1;
                lblwaterText.Left = 0;
                Controls.Add(lblwaterText);
            }

            [Category("扩展属性"), Description("显示的水印提示信息")]
            public string WaterText
            {
                get { return lblwaterText.Text; }
                set { lblwaterText.Text = value; }
            }

            public override string Text
            {
                set
                {
                    if (value != string.Empty)
                        lblwaterText.Visible = false;
                    else
                        lblwaterText.Visible = true;
                    base.Text = value;
                }
                get { return base.Text; }
            }

            protected override void OnSizeChanged(EventArgs e)
            {
                if (Multiline && (ScrollBars == ScrollBars.Vertical || ScrollBars == ScrollBars.Both))
                    lblwaterText.Width = Width - 20;
                else
                    lblwaterText.Width = Width;
                lblwaterText.Height = Height - 2;
                base.OnSizeChanged(e);
            }

            protected override void OnEnter(EventArgs e)
            {
                lblwaterText.Visible = false;
                base.OnEnter(e);
            }

            protected override void OnLeave(EventArgs e)
            {
                if (base.Text == string.Empty)
                    lblwaterText.Visible = true;
                base.OnLeave(e);
            }

        }
    }

    然后将生成后的用户控件放到自己的项目中使用即可

  • 相关阅读:
    PHP时间戳常用转换
    redis基本指令
    P2501 [HAOI2006]数字序列
    P2679 子串
    P2759 奇怪的函数
    P6823 「EZEC-4」zrmpaul Loves Array
    P6631 [ZJOI2020] 序列
    P2887 [USACO07NOV]Sunscreen G
    P3287 [SCOI2014]方伯伯的玉米田
    拓展欧几里得算法揭秘
  • 原文地址:https://www.cnblogs.com/songling/p/2126583.html
Copyright © 2011-2022 走看看