WinForm 窗体属性 窗体美化

WinForm是·Net开发平台中对Windows Form的一种称谓。

Windows窗体的一些重要特点如下:

功能强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。

操作方便:新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server、Microsoft Access、Jet、DB2以及Oracle等。

使用安全:Windows窗体充分利用公共语言运行库的安全特性。这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序。

WinForm窗体的常用属性

1.布局:

AutoScroll - 内容大于课件区域时是否显示滚动条 true/false

AutoSize - 是否调整自身大大小以适应起重内容大小 true/false

Location - 左上角的坐标 0,0 (像素)

StartPosition - 第一次出现时的位置 CenterScreen 居中显示
MaxximumSize - 窗口可调整到的最大大小
MinimunSize -窗口可调整到的最小大小
padding - 内部间距0,0,0,0 左上右下
Size - 控件大小300,300(以像素为单位)
WindowState - 确定初始可是状态 Minimized 最小化 Maximized 最大化

2.窗口样式:
ControlBox -确定是否有系统菜单边框 true/false
Icon - 窗体图标,最小化时显示 ico 格式

MaximizeBox - 确定右上角是否有最大化框
MinimizeBox - 确定右上角是否是最小化框
HelpButton - 标题栏上的帮助按钮
MaximizeBox与 MinimizeBox 同时为False HelpButton 为True是显示 
Opacity -透明度
ShowIcon - 窗体标题栏中是否显示图标
ShowInTaskbar - Windows 任务栏中是否显示窗体
TopMost - 是否显示在此属性威慑住为true的所有窗体之上
TransparencyKey - 窗体上显示透明的颜色

3.设计:
Name - 对象中用来识别对象的名称

4.数据:
Tag -与对象关联的用户定义数据

5.外观:
BackgroundImage - 背景图片
BackgroundImagelayout - 背景图片的布局
BackColor -背景颜色
Cursor - 显示的鼠标样式
FormBorderStyle - 边框的和标题栏的样式
Text 窗体的文本
6.杂项:
AcceptButton -设置了此按钮,用户按Enter相当于“单击”。
CancelButton - 设置了此按钮,用户按Eec相当于“单击”

窗体美化

一.制作一个无边框窗体

属性FormBorderStyle 设置为NONE

二.控制按钮如何制作

 1  //触发事件改变他的背景图片
 2         private void pictureBox1_Click(object sender, EventArgs e)//点击事件
 3         {
 4             this.Close();
 5         }
 6         private void pictureBox1_MouseEnter(object sender, EventArgs e)//鼠标进入事件
 7         {
 8             pictureBox1.BackgroundImage = Image.FromFile(Application.StartupPath + "\\..\\..\\images\\btn_close_highlight.png");
 9         }
10
11         private void pictureBox1_MouseLeave(object sender, EventArgs e)//鼠标离开时事件
12         {
13             pictureBox1.BackgroundImage = Image.FromFile(Application.StartupPath + "\\..\\..\\images\\btn_close_disable.png");
14         }
15
16         private void pictureBox1_MouseDown(object sender, MouseEventArgs e)//鼠标按下事件
17         {
18             pictureBox1.BackgroundImage = Image.FromFile(Application.StartupPath + "\\..\\..\\images\\btn_close_down.png");
19         } 

三.如何让窗体动起来

 1 //窗体移动API
 2 [DllImport("user32.dll")]
 3 public static extern bool ReleaseCapture();
 4 [DllImport("user32.dll")]
 5 public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);
 6 public const int WM_SYSCOMMAND = 0x0112;
 7 public const int SC_MOVE = 0xF010;
 8 public const int HTCAPTION = 0x0002;
 9 [DllImport("user32")]
10 private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);
11 private const int WM_SETREDRAW = 0xB;
12
13
14
15 private void Form1_MouseDown(object sender, MouseEventArgs e)
16 {
17     if (this.WindowState == FormWindowState.Normal)
18     {
19         ReleaseCapture();
20         SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
21     }
22 }

四.如何让窗体有阴影

 1 using System.Runtime.InteropServices;//引用命名空间
 2
 3
 4         //代码如下
 5          private const int CS_DropSHADOW = 0x20000;
 6          private const int GCL_STYLE = (-26);
 7
 8         [DllImport("user32.dll", CharSet = CharSet.Auto)]
 9          public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong);
10         [DllImport("user32.dll", CharSet = CharSet.Auto)]
11          public static extern int GetClassLong(IntPtr hwnd, int nIndex);
12
13         public Form1()
14         {
15
16
17             InitializeComponent();
18             SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW);
19         }
时间: 2024-10-26 16:58:32

WinForm 窗体属性 窗体美化的相关文章

winform 常用窗体属性

WinForm常用窗体属性: Form常用属性 AutoSizeMode属性 :值是: GrowAndShrink不能调整窗体大小 :值是:GrowOnly 可以改变大小 (1)Name属性:用来获取或设置窗体的名称. (2)WindowState属性:用来获取或设置窗体的窗口状态. (3)StartPosition属性:用来获取或设置运行时窗体的起始位置. (4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字. (5)Width属性:用来获取或设置窗体的宽度. (

Winform中的窗体一些常用属性

Winform窗体的常用窗体属性 1)窗体全屏显示 this.DesktopBounds = Screen.GetWorkingArea(this);  //全屏显示桌面 注:可以放在初始化方法中,也可以设置定时器(Timer),什么时候显示全屏 2)窗体去掉最小化和最大化 this.MinimizeBox = false;   //true为默认有最小化,false则相反this.MaximizeBox = false; 3)设置为顶级窗体 this.TopMost = true;   //覆

C# WinForm 父窗体 子窗体 传值

C# WinForm 父窗体 子窗体 传值 本次示例效果如下:Form1为父窗体(包含textBox1.button1)Form2为子窗体(包含textBox2.button2) 父窗体给子窗体传值==================1.点击Form1的button1 打开Form2  父窗体给子窗体传值 可以调用重载子窗体的构造函数 直接传入相关数值 public partial class Form1 : Form    {        public Form1()        {   

窗体属性、6个简单控件

窗体属性: 布局: autoscroll:自动显示滚动条 location:窗体显示的位置(x,y) 配合startposition一起使用,startposition选用manual maximumsize:最大显示范围(宽,高) minimumsize:最小显示范围 size:窗体的实时大小 startposition:centerscreen根据桌面居中,centerparent根据父级窗体居中 windowstate:窗体开始时的状态,正常,全屏,最小化 窗口样式; controlbox

Winform开发之窗体显示、关闭与资源释放

Winform的窗体涉及到一般窗体(单文档窗体).MDI窗体.窗体之间的关系等,那么如果调用打开新窗体.如何关闭窗体.窗体资源的释放等都关系到软件运行的效率,本文一一介绍 1.窗体的显示 从一个窗体打开另一个窗体,基本会用到两种方法,即Show()和ShowDialog(),前者是一般的窗体,后者是模态窗体. 两种调用是由些许的不同 (1)在调用Form.Show方法后,Show方法后面的代码会立即执行 (2)在调用Form.ShowDialog方法后,写在其后面的程序会在模态窗口关闭后再执行.

winform 加载窗体时弹出另一个窗体并显示进度条的源码

winform 加载窗体时弹出另一个窗体并显示进度条的源码 //frmA: 源窗体 //------------------------------------------ //引用 using System.Threading; BackgroundWorker worker; public frmA() { InitializeComponent(); worker = new BackgroundWorker(); worker.DoWork += new DoWorkEventHandl

winform的Form窗体基础

最近搞一个winform的socket编程的课设,平时对winform这块没有研究,以为和C# web差不多的,不曾想窘状百出.没办法,只能硬着头皮赶紧学Form窗体的一些基本知识和socket编程. 首先,谈一谈学Form窗体的一些认识和感悟. 1.关于窗体应用的创建就不说了,当我们在一个项目中添加了多个窗体, 随之而来的调试问题就是:怎么设置首先运行的窗体呢? 解决方案:一般我们建项目之后,在项目中我们会找到有Program.cs文件,双击打开之后里面有一行:Application.Run(

WindowsForm 窗体属性和控件

一窗体属性 1 布局 (1)Autoscoll  --滚动条 (2)AutoSize   --自动调节大小以适用内容大小 (3)Location和 StartPosition (确定窗体第一次出现的位置) ①CenterParent(窗体在其父窗体中居中) ②CenterScreen ( 窗体在当前显示窗口中居中) ③Manual (窗体的位置由 Location 属性确定) ④WindowsDefaultBounds  (窗体定位在 Windows默认位置,其边界也由Windows默认决定);

C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件

一.MDI窗体的设计 1.MDI简介 MDI(Multiple Document Interface)就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows 2.0下的Microsoft Excel电子表格程序开始引入的,Excel电子表格用户有时需要同时操作多份表格,MDI正好为这种操作多表格提供了很大的方便,于是就产生了MDI程序 2.效果图: 如下图所示,多窗体嵌套,其中一个是父窗体,其条是子窗体. 横向排列下面的窗体: 纵向排列下面的窗体: 关闭全部子窗