首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

请教怎么将一个控件的父窗口设为桌面

2012-12-16 
请问如何将一个控件的父窗口设为桌面在vb.net中可以用下面的代码将一个控件设置为另一个控件的子控件Pictu

请问如何将一个控件的父窗口设为桌面
在vb.net中可以用下面的代码将一个控件设置为另一个控件的子控件
PictureBox1.Parent = PictureBox2.Parent

但是如果是要将其设置为桌面窗口的子控件应该桌面做呢?

PictureBox1.Parent =???
[最优解释]
 [DllImport("user32.dll")]  
  public extern static IntPtr SetParent(IntPtr hChild, IntPtr hParent);
[其他解释]
这个API我也试过了 没反应

引用:
[DllImport("user32.dll")]  
  public extern static IntPtr SetParent(IntPtr hChild, IntPtr hParent);

[其他解释]
额 重写了一遍  又有反应了   看来还是用api把  谢谢:)
[其他解释]
楼上正解

    Private Declare Function GetDesktopWindow Lib "user32.dll" () As IntPtr
    Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Int32


    Dim hdesk As IntPtr = GetDesktopWindow
        Dim ret As Int32 = SetParent(PictureBox1.Handle, hdesk)



本来以为可以把桌面直接转为控件,结果不行。想想也是桌面怎么说也不是net框架中的控件
       Dim ctl As Control = Control.FromHandle(GetDesktopWindow)
        If ctl IsNot Nothing Then
            PictureBox1.Parent = ctl
        End If

热点排行