C# Winform
1. 窗体起始位置Position 设置
(1) 窗体起始位置为顶部中间,WinForm居中显示:
int x = (System.Windows.Forms.SystemInformation.WorkingArea.Width - this.Size.Width) / 2; int y = (System.Windows.Forms.SystemInformation.WorkingArea.Height - this.Size.Height) / 2; this.StartPosition = FormStartPosition.Manual; //窗体的位置由Location属性决定 this.Location = (Point)new Size(x, y); //窗体的起始位置为(x,y)
(2) 其他属性说明
System.Windows.Forms.SystemInformation.WorkingArea.Width //屏幕宽度 System.Windows.Forms.SystemInformation.WorkingArea.Height //屏幕高度(去系统任务栏,当显示有任务栏的时候) this.Size.Width //自己窗体的宽度, this.Size.Width //自己窗体的高度 this.ClientRectangle.Width //工作区域宽度 this.ClientRectangle.Height //工作区域高度设置窗口初始位置 this.StartPosition = FormStartPosition.Manual; //窗体的位置由Location属性决定 this.StartPosition = FormStartPosition.CenterParent; //窗体在其父窗体中居中 this.StartPosition = FormStartPosition.CenterScreen; //窗体在当前显示窗口中居中,尺寸在窗体大小中指定 this.StartPosition = FormStartPosition.WindowsDefaultBounds; //窗体定位在windows默认位置,边界也由windows默认决定 this.StartPosition = FormStartPosition.WindowsDefaultLocation; //窗体定位在windows默认位置,尺寸在窗体大小中指定
(3) 指定窗体Locaiton来,设定窗体位置
this.StartPosition = FormStartPosition.Manual; //窗体的位置由Location属性决定 this.Location = (Point)new Size(0, 0); //窗体的起始位置为0,0
(4) 创建窗体时, 设置宽度和高度
this.ClientSize = new System.Drawing.Size(x1,y1); //X1 为宽度,Y1为高度
(5) 获取屏幕大小(using System.Drawing)
Rectangle rect = Screen.GetWorkingArea(this); Point p = new Point(rect.Width,rect.Height); this.Location = p;
2. 窗体事件:
Load: 初始化窗体、加载窗体资源(窗体上的各种控件),在窗体句柄创建之后、显示之前,为显示做准备。只触发一次。
Shown:在窗体加载后显示窗体,设置窗体属性Visible=true或form.show()才会触发。触发一次或者不触发
Activated:每次窗体获得焦点均会触发(从别的窗体或对话框切回来时)。可触发多次
2. ViewReport报表
原文地址:C# 利用ReportViewer生成报表 - 公子小六 - 博客园 (cnblogs.com)
涉及知识点:
- ReportViewer :位于Microsoft.Reporting.WinForms命名空间, 主要用于报表的显示
- Report:报表,以rdlc结尾的文件,可视化设计报表模板。
- 报表数据:内置字段,参数,图像,数据集(本报表主要使用参数,和数据集)
- ReportParameter:使用名称和值实例化新的报表参数
- ReportDataSource:报表的数据源与DataTable对象联系起来
备注:
- Nuget安装:
- 运行目录放置Report2.rdlc
效果图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了