本人用VB6开发过一些小软件,对软件的界面一直不太满意。现在越来越多的软件支持XP界面元素,我以为使用VB.Net就能办到。昨天花了2小时,总算把VS.Net 2003装上了,但是发现VB.Net的窗体控件不是XP样式,有些失望。我想问一下是不是什么地方需要设置一下,还是VS.Net没这功能?那么那些使用XP界面元素的软件是怎样开发的?请大虾们不吝赐教,谢谢!

解决方案 »

  1.   

    怎么没人顶啊,是不是这个问题太Easy了你们不屑回复,还是没人知道?
      

  2.   

    在XP下实现XP主题效果
    把下面的保存为 1.res,添加到工程中:
    00000000h: 00 00 00 00 20 00 00 00 FF FF 00 00 FF FF 00 00 ; .... .......
    00000010h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000020h: FC 01 00 00 20 00 00 00 FF FF 18 00 FF FF 01 00 ; ?.. .......
    00000030h: 00 00 00 00 30 10 04 08 00 00 00 00 00 00 00 00 ; ....0...........
    00000040h: 3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31 ; <?xml version="1
    00000050h: 2E 30 22 20 65 6E 63 6F 64 69 6E 67 3D 22 55 54 ; .0" encoding="UT
    00000060h: 46 2D 38 22 20 73 74 61 6E 64 61 6C 6F 6E 65 3D ; F-8" standalone=
    00000070h: 22 79 65 73 22 3F 3E 3C 61 73 73 65 6D 62 6C 79 ; "yes"?><assembly
    00000080h: 20 78 6D 6C 6E 73 3D 22 75 72 6E 3A 73 63 68 65 ;  xmlns="urn:sche
    00000090h: 6D 61 73 2D 6D 69 63 72 6F 73 6F 66 74 2D 63 6F ; mas-microsoft-co
    000000a0h: 6D 3A 61 73 6D 2E 76 31 22 20 6D 61 6E 69 66 65 ; m:asm.v1" manife
    000000b0h: 73 74 56 65 72 73 69 6F 6E 3D 22 31 2E 30 22 3E ; stVersion="1.0">
    000000c0h: 3C 61 73 73 65 6D 62 6C 79 49 64 65 6E 74 69 74 ; <assemblyIdentit
    000000d0h: 79 20 76 65 72 73 69 6F 6E 3D 22 31 2E 30 2E 30 ; y version="1.0.0
    000000e0h: 2E 30 22 20 70 72 6F 63 65 73 73 6F 72 41 72 63 ; .0" processorArc
    000000f0h: 68 69 74 65 63 74 75 72 65 3D 22 58 38 36 22 20 ; hitecture="X86" 
    00000100h: 6E 61 6D 65 3D 22 53 6A 78 73 6F 66 74 2E 53 6D ; name="Sjxsoft.Sm
    00000110h: 70 65 32 30 30 35 22 20 74 79 70 65 3D 22 77 69 ; pe2005" type="wi
    00000120h: 6E 33 32 22 20 2F 3E 3C 64 65 73 63 72 69 70 74 ; n32" /><descript
    00000130h: 69 6F 6E 3E 53 6D 70 65 32 30 30 35 3C 2F 64 65 ; ion>Smpe2005</de
    00000140h: 73 63 72 69 70 74 69 6F 6E 3E 3C 64 65 70 65 6E ; scription><depen
    00000150h: 64 65 6E 63 79 3E 3C 64 65 70 65 6E 64 65 6E 74 ; dency><dependent
    00000160h: 41 73 73 65 6D 62 6C 79 3E 3C 61 73 73 65 6D 62 ; Assembly><assemb
    00000170h: 6C 79 49 64 65 6E 74 69 74 79 20 74 79 70 65 3D ; lyIdentity type=
    00000180h: 22 77 69 6E 33 32 22 20 6E 61 6D 65 3D 22 4D 69 ; "win32" name="Mi
    00000190h: 63 72 6F 73 6F 66 74 2E 57 69 6E 64 6F 77 73 2E ; crosoft.Windows.
    000001a0h: 43 6F 6D 6D 6F 6E 2D 43 6F 6E 74 72 6F 6C 73 22 ; Common-Controls"
    000001b0h: 20 76 65 72 73 69 6F 6E 3D 22 36 2E 30 2E 30 2E ;  version="6.0.0.
    000001c0h: 30 22 20 70 72 6F 63 65 73 73 6F 72 41 72 63 68 ; 0" processorArch
    000001d0h: 69 74 65 63 74 75 72 65 3D 22 58 38 36 22 20 70 ; itecture="X86" p
    000001e0h: 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 22 36 ; ublicKeyToken="6
    000001f0h: 35 39 35 62 36 34 31 34 34 63 63 66 31 64 66 22 ; 595b64144ccf1df"
    00000200h: 20 6C 61 6E 67 75 61 67 65 3D 22 2A 22 20 2F 3E ;  language="*" />
    00000210h: 3C 2F 64 65 70 65 6E 64 65 6E 74 41 73 73 65 6D ; </dependentAssem
    00000220h: 62 6C 79 3E 3C 2F 64 65 70 65 6E 64 65 6E 63 79 ; bly></dependency
    00000230h: 3E 3C 2F 61 73 73 65 6D 62 6C 79 3E             ; ></assembly>选择启动为 Sub Main()
    在标准模块里写:Public Declare Sub InitCommonControls Lib "comctl32.dll" ()
    Public Sub Main()
        InitCommonControls
        frmMain.Show
    End Sub
      

  3.   

    我的OS是XP SP2,使用.Net 2003,但窗体控件依然是Windows的经典样式,我看VB.Net的参考书上也是一样的。原来使用XP效果这么复杂,我试试看,多谢各位,我会尽快结分的!
      

  4.   

    好像还没有哪套语言能直接实现XP界面吧????都是要自己添加一些代码来实现的!!!!哪怕是在XP系统下也不一定的!!!!
      

  5.   

    除了caozhy(cfx)说的方法,还有其它途径吗?大虾们多指点指点,给像我这样的菜鸟多些学习机会,感激不尽!!!
      

  6.   

    c#默认也不是xp的效果,可是用一条语句就搞定了。
    vb.net也该有一条语句搞定的。
      

  7.   

    Delphi 7 有个控件叫 TXPManifest 放上去就好使了。