DotNet中不规则窗体的创建方法

ShapedForms
http://www.c-sharpcorner.com/Graphics/Shaped1.jpg

Today Windows always appear with a rectangular shape. What if you could have a window that was shaped like a circle, a square or a triangle or any shape you want.
I discovered tonight you could use regions to in effect clip a window to any shape you want. The effect is almost to look like an active desktop component as you cannot move these shaped windows. Having done this and created some animation on your desktop I wonder if you could load a bitmap as the basis for your windows. Note you lose the titlebars etc but it looks like a useful technique.
Here is the source code. Apologies if its messy but its been a long night searching for how to do this. I have attached the exe as well for Beta 2
Enjoy
John
Source Code:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Drawing.Drawing2D;
namespace ShapedForm
{
        /// <summary>
        /// Summary description for Form1.
        /// </summary>
        public class Form1 : System.Windows.Forms.Form
        {
       private System.Windows.Forms.Timer timer1;
       private System.ComponentModel.IContainer components;

时间: 2024-11-05 14:49:00

DotNet中不规则窗体的创建方法的相关文章

jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法_jquery

本文实例讲述了jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法.分享给大家供大家参考,具体如下: 我们在使用EasyUI Tabs框架时,在框架最顶层的弹出窗体中需要操作当前Tab的iframe窗体内容或方法,这时候我们就可以使用以下方法来实现. 具体实现代码如下所示: function getTabWindow() { var curTabWin = null; var curTab = parent.$('#main-center').tabs('getSelected

JavaScript中对象的不同创建方法_javascript技巧

javascript中的对象与一般的面向对象的程序设计语言(c++,Java等)不同,甚至很少有人说它是面向对象的程序设计语言,因为它没有类.javaScript只有对象,不是类的实例.javascript中的对象是基于原型的. 1.1句点运算符创建 javascript中的对象实际上就是一个由属性组成的关联数组,属性由名称和值组成,值的类型可以是任何数据类型,或者函数和其他对象. 创建一个简单对象: var foo = {}; foo.prop_1 = 'bar'; foo.prop_2 =

C++Builder中不规则窗体的快速显示

不规则窗体的应用增加软件的吸引力 传统的WINDOWS应用软件界面给人的感觉总是千篇一律的方方正正的窗体,看的时间长了难免会有些厌烦,总是希望能见到些不同一般的软件界面.如今,相当数量的商业软件在提供优秀而强大的功能的同时,软件的界面也是做得越来越漂亮,比如<超级解霸2000>中的界面插件,使用过的人一定对其华丽的外观充满好感.作为一个编程爱好者,如果自己写出的软件也拥有类似的界面,也许会吸引更多目光的注视.那么,我们现在就开始动手制作自己的漂亮界面吧. 技术内幕 要想在自己的程序中加入不规则

Windows中不规则窗体的编程实现

一.序言 在绝大多数的Windows应用程序中,其窗体都是使用的正规正矩的矩形窗体,例如我们常用的,"记事本","扫雷",等等.矩形窗体,具有编程实现简单,风格简洁的优点,所以在普通文档应用程序和简单小游戏中使用足矣.但在某些娱乐游戏程序中使用就略显呆板些了,这时若用不规则窗体替代原先的矩形窗体,将会使这类程序更添情趣.典型的例子有windows 自代的Media Player,新版本的Media Player有个控制面板的选项,选中这些面板,播放器就以选中的面板形

MFC绘制不规则窗体的方法

  本文实例讲述了MFC 绘制不规则窗体的方法.分享给大家供大家参考.具体分析如下: 实现过程: 1.首先创建基于DLG的MFC应用程序,命名为:tryBGDlg,并将DLG的属性设置为:Title Bar :False ,其它设置不变 2.制作两幅图像,其中的一幅黑白图像,是根据播放器外观来制作的,其中白色区域是要保留的最终在桌面上显示的区域.将这两幅图像添加到工程中,第一个ID号设置为IDB_INTERFACE,第二个ID号设置为:IDB_MASK 3.在CtryBGDlg类中添加一个在函数

MFC绘制不规则窗体的方法_C 语言

本文实例讲述了MFC 绘制不规则窗体的方法.分享给大家供大家参考.具体分析如下: 实现过程: 1.首先创建基于DLG的MFC应用程序,命名为:tryBGDlg,并将DLG的属性设置为:Title Bar :False ,其它设置不变 2.制作两幅图像,其中的一幅黑白图像,是根据播放器外观来制作的,其中白色区域是要保留的最终在桌面上显示的区域.将这两幅图像添加到工程中,第一个ID号设置为IDB_INTERFACE,第二个ID号设置为:IDB_MASK 3.在CtryBGDlg类中添加一个在函数:

C#创建不规则窗体的几种方式

现在,C#创建不规则窗体不是一件难事,下面总结一下: 一.自定义窗体,一般为规则的图形,如圆.椭圆等. 做法:重写Form1_Paint事件(Form1是窗体的名字),最简单的一种情况如下: System.Drawing.Drawing2D.GraphicsPath shape = new System.Drawing.Drawing2D.GraphicsPath(); shape.AddEllipse(0,0,this.Height, this.Width); this.Region = ne

VB.Net创建不规则窗体 Montaque(原作)

 VB.Net创建不规则窗体    Montaque(原作)   一般说来,应用程序的窗体都是规则的,即是矩形窗体.有时候为了某种特殊的用途,我们希望改变应用程序窗体的形状,比如做个个性十足的mp3播放器,小时钟等等,这就需要 "定制"我们的应用程序.另外,特殊形状的窗体有时候也能吸引用户的注意力,使得他们格外注意你的程序. 在VB6里面,我们一般通过以下代码来创建不规则窗体.Private Declare Function SetWindowRgn Lib "user32&

创建可透明、可移动的位图型不规则窗体

在Form上添加一个OpenPictureDialog,添加一个Image,并为其添加一个图片.再加一个PopupMenu,并创建两个菜单项,一个是Open1,一个是Exit1,其中前者是打开图象文件对话框,后者为退出程序.设置Image1的PopupMenu属性为PopupMenu1. 在Form1的OnCreate事件中添加: void __fastcall TForm1::FormCreate(TObject *Sender){ BmpToRgn();}在.h文件中的private段中添加