魔力随笔.net

随心开发,自为满意

博客园 首页 新随笔 联系 订阅 管理

在MDI的Parent窗体中,背景很难看,大家都希望能够有一个好看的背景。可是直接使用窗体的IMAGE属性,或者用PICTUREBOX都不行。为什么呢?在Form中,所谓的MDI是一个容器,比较特殊而已--MdiClient。它就是用来保持MDICHILD窗体的。只有通过修改它的属性才可以修改MDI容器显示出来的效果。这个东东在MSDN上基本没有介绍。但是没有介绍就没有办法使用了吗?看下面。

 1''定义一个MDI容器
 2    Private WithEvents cli As Windows.Forms.MdiClient
 3
 4    Private bgImage As Image = Image.FromFile(Common.Startpath & "\xxx.xxx" )
 5
 6    ''查找MdiClient这个窗体对象
 7    Private Sub SetMdiClient()
 8        Dim i As Int16 = Me.Controls.Count - 1
 9        While True
10            Try
11                cli = CType(Me.Controls.Item(i), MdiClient)
12                Exit While
13            Catch ex As ArgumentOutOfRangeException
14                Exit While
15            Catch ex As Exception
16                i -= 1
17            End Try
18        End While
19    End Sub

20
21    ''重绘对应背景
22    Private Sub cli_Paint(ByVal sender As ObjectByVal e As System.Windows.Forms.PaintEventArgs) Handles cli.Paint
23        e.Graphics.DrawImage(bgImage, 00, cli.Width, cli.Height)
24    End Sub

25
26    ''在改变窗体大小的时候,进行背景图片的重新绘制
27    Private Sub cli_Resize(ByVal sender As ObjectByVal e As System.EventArgs) Handles cli.Resize
28        cli.Refresh()
29    End Sub

30
31

        把上面代码拷贝到你的窗体里面,替换那个XXX.XXX文件名,看看是不是达到你要的效果了?不过唯一遗憾的就是重绘的时候屏幕会闪烁。

posted on 2005-08-14 22:48  魔力随笔.net  阅读(1652)  评论(2)    收藏  举报