winform学习(4)控件的添加、显示和隐藏

窗体的添加、显示与隐藏

可以直接通过工具栏将某个控件直接拖动至UI界面(也可以在工具栏里双击某个控件)

也可以在代码里直接添加:窗体的标识.Controls.Add(控件标识符);

Button myBtn = new Button();

myBtn.Text = "创建的按钮";

this.Controls.Add(myBtn);

代码添加的好处:没有垃圾代码产生,提高程序执行的效率。

 

窗体的显示和隐藏:

窗体标识符.Show();

窗体标识符.Hide();

转载于:https://www.cnblogs.com/1016391912pm/p/11454662.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 首先需要创建一个自定义控件,继承自需要添加背景水印的控件(如TextBox、ComboBox等)。 2. 在自定义控件的构造函数中,设置控件的背景色为透明。 3. 重写自定义控件的OnPaint方法,在方法中绘制背景水印。 4. 在自定义控件的TextChanged事件中,判断控件中是否有文本,如果有则隐藏水印,否则显示水印。 下面是一个示例代码: ``` public class WatermarkTextBox : TextBox { private string _watermarkText = "请输入..."; private Color _watermarkColor = Color.LightGray; private bool _showWatermark = true; public WatermarkTextBox() { SetStyle(ControlStyles.SupportsTransparentBackColor, true); BackColor = Color.Transparent; } [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [DefaultValue("请输入...")] public string WatermarkText { get { return _watermarkText; } set { _watermarkText = value; Invalidate(); } } [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [DefaultValue(typeof(Color), "LightGray")] public Color WatermarkColor { get { return _watermarkColor; } set { _watermarkColor = value; Invalidate(); } } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); if (_showWatermark && string.IsNullOrEmpty(Text)) { using (var brush = new SolidBrush(_watermarkColor)) { var stringFormat = new StringFormat { LineAlignment = StringAlignment.Center, Alignment = StringAlignment.Center }; e.Graphics.DrawString(_watermarkText, Font, brush, ClientRectangle, stringFormat); } } } protected override void OnTextChanged(EventArgs e) { base.OnTextChanged(e); _showWatermark = string.IsNullOrEmpty(Text); Invalidate(); } } ``` 使用时,只需要在窗体中将原来的TextBox控件替换成WatermarkTextBox即可。例如: ``` var textBox = new WatermarkTextBox { Location = new Point(10, 10), Size = new Size(200, 30), WatermarkText = "请输入用户名", WatermarkColor = Color.Gray }; this.Controls.Add(textBox); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值