制作異型窗體:
http://developer.ccidnet.com/pub/disp/Article?columnID=340&articleID=42929&pageNO=1

解决方案 »

  1.   

    可以用photoshop这类的做一个界面,但界面的背景一定得是透明的。然后可以把图片显示出来。再把窗体的透明度设置为0。这是最简单的办法。
      

  2.   

    给你个思路:先做个图片,将不需要的地方涂成某一背景色(区别于图片上其他颜色),如窗口的四个角
    将窗体的FormBorderStyle设为None,去掉标题条
    将窗体的BackGroundImage设为这个图片
    将窗体的TransparencyKey设为窗片的背景色,使其背景颜色透明
    再设计个窗体的鼠标拖动算法,因为没有标题条了嘛 
    private Point mouse_offset;
    private void FrmWarn_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
       mouse_offset = new Point(-e.X,-e.Y);   
    }private void FrmWarn_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
      if(e.Button == MouseButtons.Left)
      {
        Point mousePos = Control.MousePosition;
        mousePos.Offset(mouse_offset.X,mouse_offset.Y);
        this.Location = mousePos;
      }
    }
    运行即可
      

  3.   

    再有其他的方法就是在窗体的Paint事件里完全自己重绘了,这样做可能要复杂一些,
    但做的时候会更灵活一些