中国红啊 发表于 2010-1-20 17:00:43

c#中关于窗体美化的一些思索

现在带来的是关于窗体美化的一些方法吧!也许还有好多方法的!嘿嘿,算是小露一手啊(本人技术一个字差,所以不敢大露啊)
开发平台还是VS2008,只不过语言是C#,转换成VB只要修改点点就行啦!


首先把窗体的FormBorderStyle的属性设为None ;这样窗体那呆板的边框和标题栏就会去掉,从而达到美化
但问题又出来啦,这样虽好看,但是窗体却无法拖动,所以就有啦下文:
      private Point mouseoffset;//定义POINT类型的变量,用于存放鼠标指针的坐标
      private bool ismousedown = false;   

      private void MainForm_MouseDown(object sender, MouseEventArgs e) //鼠标按下时触发的事件
      {
            int xoffset;
            int yoffset;
            if (e.Button == MouseButtons.Left)
            {
                //用减号的原因是因为屏幕坐标(0,0)是从最左上角开始的(我感觉是这样啊)
                xoffset = -e.X - SystemInformation.FrameBorderSize.Width;//获取在正拖动调整大小的窗口周围绘制的大小调整边框的粗细
                //SystemInformation.CaptionHeight获取窗口的标准标题栏区域的高度(以像素为单位)(因为标题栏被去掉啦)
                yoffset = -e.Y -SystemInformation.CaptionHeight-SystemInformation.FrameBorderSize.Height;
                mouseoffset = new Point(xoffset, yoffset);
                ismousedown = true;
            }
      }

      private void MainForm_MouseMove(object sender, MouseEventArgs e)//鼠标移动时触发的事件
      {
            if (ismousedown)
            {

                Point mousepos = Control.MousePosition;//获取鼠标光标的位置(以屏幕坐标表示)。
                mousepos.Offset(mouseoffset.X, mouseoffset.Y);//将此 Point 平移指定的坐标。
                this.Location = mousepos;//窗体的位置重新指定,即移动窗体
            }

      }

      private void MainForm_MouseUp(object sender, MouseEventArgs e)
      {
            ismousedown = false;
      }

哇哈哈爽 发表于 2011-2-16 07:38:10

先收藏了,以后看啊
页: [1]
查看完整版本: c#中关于窗体美化的一些思索