Yojo网页设计

yojoPHP.NETPhotoshopCSSaSPPhotoshopDreamweaverFlashFireworksCoreldrawillustratorJSPSEOSQL
·ASP基础·ASP技巧·ASP实例·Asp.Net基础·Asp.Net技巧·Asp.Net实例·PHP·JSP·编程杂谈·数据库编程

热门点击

more...
您现在的位置: yojo网页设计 >> 编程开发 >> ASP.net教程 >> Asp.Net实例教程 >> 正文

C#创建不规则窗体

更新时间:2008-9-12 17:11:02 文章来源:yojo网页设计 点击:

  我们常见的窗体都是规则的,那么如何用C#创建不规则窗体呢,其实很简单,下面将教你实现。

using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Runtime.InteropServices;
  namespace APIDemo
  {
  public partial class Form1 : Form
  {
  [StructLayout(LayoutKind.Sequential)]
  private struct POINTAPI
  {
  internal int x;
  internal int y;
  }
  [DllImport("gdi32.dll")]
  private static extern IntPtr CreatePolygonRgn(
  ref POINTAPI lpPoint,
  int nCount,
  int nPolyFillMode);
  [DllImport("user32.dll")]
  private static extern IntPtr SetWindowRgn(
  IntPtr hWnd,
  IntPtr hRgn,
  ref Boolean bRedraw);
  public Form1()
  {
  InitializeComponent();
  //创建不规则窗体
  POINTAPI[] poin;
  poin =new POINTAPI [5];
  poin[0].x = 90;
  poin[0].y = 90;
  poin[1].x = this.Width;
  poin[1].y = 0;
  poin[2].x = Width ;
  poin[2].y = this.Height/2;
  poin[3].x = Width / 2;
  poin[3].y = Height / 2;
  poin[4].x = 0;
  poin[4].y = Width;
  Boolean flag = true;
  IntPtr hRgn= CreatePolygonRgn(ref poin[0],8,1);
  SetWindowRgn(this.Handle, hRgn, ref flag );
  this.BackColor = Color.BurlyWood;
  }
  //设置窗体显示状态
  [DllImport("user32.dll")]
  private static extern int SetWindowPos(
  IntPtr hwnd,
  int hWndInsertAfter,
  int x,
  int y,
  int cx,
  int cy,
  int wFlags);
  private void Start_Btn_Click(object sender, EventArgs e)
  {//始终显示在前面
  SetWindowPos(this.Handle, -1, 0, 0, 0, 0, 1);
  }
  private void button1_Click(object sender, EventArgs e)
  {
  //最小化始终显示在前面
  SetWindowPos(this.Handle, -1, 0, 0, 0, 0, 0);
  }
  }
  }



文章地址:http://www.518web.net/bckf/aspnet/sljc/17310.html

友情链接首页文字链接要求:PR≥3,搜索引擎正常收录,开通一年以上,内容健康充实的站点!申请...

Copyright(C) 2005-2008 518web.net,All Rights Reserve
Email:yojo.x@msn.com | 在线QQ:2306380 53614197| [浙ICP备08009643号]