日期:2014-05-17  浏览次数:20848 次

请问:我用的是visual studio 2008 中控件textbox在属性中选3D效果为什么只是显示平面的效果而没有带阴影的3D效果啊?谢谢
本帖最后由 qingtianre 于 2013-12-27 12:51:48 编辑
请问:我用的是visual studio 2008 中控件textbox在属性中选3D效果为什么只是显示平面的效果而没有带阴影的3D效果啊?谢谢

------解决方案--------------------
这个效果是跟随Windows桌面主题的,如果桌面主题中是平面样式,那么出来也是平面.
------解决方案--------------------
3D边框在旧的经典主题时,就是3D带阴影外框。
随着XP系统对主题的更新,一些组件被基于图片的皮肤所美化。
新主题下,如果窗口声明启用新主题,那么一些控件的3D外观就会变成系统的样式。
XP下是平面风格,Win7下带有一点立体效果。
你可以查看Program类
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            //Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }

注释掉 Application.EnableVisualStyles();
文本框就会变为3D了。
如果你还是希望使用新主题
那么你可以把文本框变成无边框,放在一个3D边框的Panel里。
你也可以自己基于文本框创建组件,使用系统色绘制3D边框。