none
VB.NET 不规则窗体 RRS feed

  • 问题

  • 如何创建一个不规则形状的窗体?我有一个背景,背景边缘是透明的(GIF)。不过此背景是从DLL中加载进来的。
    现在要让窗体的形状就是背景图片的形状,透明的部分在窗体里也透明并且点击这些位置所点到的是窗体后面这个位置的东西。怎么实现?

    VB.NET哦,2008的
    2009年3月24日 13:04

答案

  • 你好!
         一般通过设置窗体的Region属性,如下就是椭圆窗口:
     
      Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click

      Dim p As System.Drawing.Drawing2D.GraphicsPath = New

      System.Drawing.Drawing2D.GraphicsPath ( )

      Dim Width As Integer = Me.ClientSize.Width

      Dim Height As Integer = Me.ClientSize.Height

      p.AddEllipse ( 0 , 20 , Width - 50 , Height - 100 )

      Region = New Region ( p )

      End Sub

    周雪峰
    2009年3月25日 6:37
    版主

全部回复

  • 你在google搜索:

    VB.NET 不规则窗体

    就可以找到很多文章,
    vs2008与以前的其他版本没有本质的区别,核心代码都是一样的


    孟宪会
    2009年3月25日 0:33
    版主
  • 你好!
         一般通过设置窗体的Region属性,如下就是椭圆窗口:
     
      Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click

      Dim p As System.Drawing.Drawing2D.GraphicsPath = New

      System.Drawing.Drawing2D.GraphicsPath ( )

      Dim Width As Integer = Me.ClientSize.Width

      Dim Height As Integer = Me.ClientSize.Height

      p.AddEllipse ( 0 , 20 , Width - 50 , Height - 100 )

      Region = New Region ( p )

      End Sub

    周雪峰
    2009年3月25日 6:37
    版主