zoukankan      html  css  js  c++  java
  • 给MDI父窗体添加背景和解决闪烁的问题

     #region 给MDI 父窗体添加背景和解决闪烁的问题
            //1、在Properties/Resources.resx中添加名称为"BackgroundImage"的背景图片

    //2、在以下位置添加BackgroundNoSplash();

    public FrmMain()
            {

              

                InitializeComponent();


                //给MDI 父窗体添加背景和解决闪烁的问题
                BackgroundNoSplash();


            }

    //以下代码复制到MDI主窗体代码中

            MdiClient mdiClient = new MdiClient();
           
            private void BackgroundNoSplash()
            {
                foreach (Control var in this.Controls)
                {
                    if (var is MdiClient)
                    {
                        mdiClient = var as MdiClient;
                        break;
                    }
                }

                if (mdiClient != null)
                {
                    mdiClient.Paint += new PaintEventHandler(OnMdiClientPaint);
                    System.Reflection.MethodInfo mi = (mdiClient as Control).GetType().GetMethod("SetStyle", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                    mi.Invoke(mdiClient, new object[] { ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer
                     | ControlStyles.ResizeRedraw, true });

                }
            }

            private void OnMdiClientPaint(object sender, PaintEventArgs e)
             {
                Graphics g = e.Graphics;
                 g.DrawImage(Properties.Resources.BackgroundImage, new Rectangle(0, 0, mdiClient.Width, mdiClient.Height));
                 string msg = "系统名称+版本号+最后更新日期";
                 SizeF size = e.Graphics.MeasureString(msg, this.Font);
                 g.DrawString(msg, this.Font, new SolidBrush(Color.White), mdiClient.Width - size.Width, mdiClient.Height - size.Height);

             }

            #endregion

    分享到: 更多
  • 相关阅读:
    Windows系统批处理命令实现计划关机
    Git如何将本地test分支设置跟踪origin/test分支
    JavaScript动态实现div窗口弹出&消失功能
    深入理解 Array.prototype.map()
    JS中集合对象(Array、Map、Set)及类数组对象的使用与对比
    Vue的移动端多图上传插件vue-easy-uploader
    如何开发一个npm包并发布
    emlog编辑器探寻之旅
    linux下安装nginx
    原生JavaScript中动画与特效的实现原理
  • 原文地址:https://www.cnblogs.com/tiasys/p/1615507.html
Copyright © 2011-2022 走看看