在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()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()Sub cli_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles cli.Paint
23
e.Graphics.DrawImage(bgImage, 0, 0, cli.Width, cli.Height)
24
End Sub
25
26
''在改变窗体大小的时候,进行背景图片的重新绘制
27
Private Sub cli_Resize()Sub cli_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles cli.Resize
28
cli.Refresh()
29
End Sub
30
31

2

3

4

5

6

7


8

9

10

11

12

13

14

15

16

17

18

19

20

21

22


23

24

25

26

27


28

29

30

31

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