如何使用Windows窗体实现此功能?

时间:2011-08-05 14:05:15

标签: vb.net winforms

我的Visual Basic .NET 2008中的Windows窗体有两个问题。如果你使用过便利贴,你会更好地理解我。

enter image description here

现在我的问题:

  1. 如果你看,你会看到数字1和2的背景颜色 不同但都属于同一控件。这怎么可能?
  2. 在右下角,用户可以通过某种方式调整表单大小。 我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

第1项:我认为你指的是LinearGradient Brush--查看System.Drawing.Drawing2D类。

第2项:他们正在绘制一个调整大小处理程序。您可以尝试使用ControlPaint.DrawSizeGrip方法或绘制自己的方法。

<强>更新

根据您的评论,您可以查看Owner-drawing a Windows.Forms TextBox

答案 1 :(得分:1)

您可以通过覆盖OnPaintBackground()

来绘制渐变背景
    protected override void OnPaintBackground(PaintEventArgs e)
    {
        // set these to whatever you want 
        Color color1 = Color.LightBlue; 
        Color color2 = Color.DarkBlue;

        using (Brush backbrush =
            new LinearGradientBrush(e.ClipRectangle, color1, color2,
                LinearGradientMode.Vertical))
        {
            e.Graphics.FillRectangle(backbrush, e.ClipRectangle);
        }

    }

您可以通过将表单的SizeGripStyle设置为Show:

来显示大小的抓手
SizeGripStyle = SizeGripStyle.Show;

或者只是在设计师中设置它。

编辑:查看this page创建透明文本框(如果文本框是透明的,则会显示渐变表单背景。)