惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
博客园 - 三生石上(FineUI控件)
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
C
Cybersecurity and Infrastructure Security Agency CISA
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
U
Unit 42
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
H
Help Net Security
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
L
LINUX DO - 热门话题
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Heimdal Security Blog
博客园 - 聂微东
S
Securelist
大猫的无限游戏
大猫的无限游戏
Cloudbric
Cloudbric
Cisco Talos Blog
Cisco Talos Blog

博客园 - Pvistely

SQL查询日历 怀旧下给自己留个备份, 小东西WinForm的等待窗口 FluorineFx ASObject自动转换基础类 AutoParseASObject ,用于Flash AMF协议解析 PPPOE数据包转换及SharpPcap应用 Flash网页游戏辅助工具制作简析 Microsoft SQL Server 2008 基本安装说明 SQL 2000 异数据库数据同步 请把这个消息提示框拿掉,谢谢 MS新版Wallop, 被VB6搞死。。。。。。。鸟 企业管理应用系统平台插件接口应用说明 企业管理应用系统平台应用说明 企业管理应用平台预览演示版下载 企业管理系统应用平台(预览版) ENA13条码转换函数 运行时自定义PropertyGrid显示属性项目 C1Flexgrid与XtraGrid性能比较 想用GDI+2.0做设计器,但在实现过程中遇到大麻烦
继上次的GDI+做报表设计器后.............
Pvistely · 2005-09-20 · via 博客园 - Pvistely

上次的讨论:想用GDI+2.0做设计器,便在实现过程中遇到大麻烦
在上次讨论中,不少朋友给了很多意见,并在测试中有一个意外的收获,即FocusBox与组件的使用,
这次发上来的也主要想说明一下用FocusBox与组件使用来做一个Form设计器
现在的进度比我预计的要快,因为我计划在完成报表设计器后才去实现这个Form设计器,不过我觉得在Form设计器中只要将Label进行一些小的设置就能完成一套报表设计器的工作了.

虽然已有一点点的初形出来了,但还有很多问题没有解决,希望大家能一起讨论想一些好的解决方法

下面列出的是目前首要解决的任务
1.还有闪烁,在组件量大时会更明显
2.还不支持多组件同时移动,但已从FocusBox中生成一个Darg事件
3.组件的Paint事件未做到完美,当FocusBox移动到Text显示位置时会消失,在Label上有些时候也会不消失,(可能是未能激活相应组件的Paint事件)
4.在选择多组件时单一组件大小仍可调整,但调整Cursor不能显示
5.未加入键盘大小/位置调整功能,但已从FocusBox中引出LocationSize属性
6.未加入键盘处理功能,如Del处理
7.不能对控件实现Hook
8.选择组件时还有点问题

这里第七个问题是最麻烦的,我以前尝试用System.Windows.Forms.Design下的东西来做,但没成功,以前在网上看到外国人用这个做过一个设计器,但现在想找却找不到了,以前下载的东西又被我给删除了,哎:(

源码下载:https://files.cnblogs.com/pvistely/FormDesigner.rar
下面是用于调试的窗口,
由两个panel组成,上面的panel由Listener直接接管,下面的panel是用于来显示单个FocusBox与Mouse的位置,并在中间的textbox中显示当前FocusBox参数信息:
S:sender    P:parent    PLoc:parent location    Loc:Location    WA:WorkArea    IR:InRact

UTest按钮是来测试单一FocusBox的功能,将自动梆定Label1
LTest按钮是用来测试Listsner的整体功能,将会自动添加panel1中的所有组件


目前包括两个类
Listener:用于接管用于放置组件的容器,提供了Add方法来添加组件(目前还未支持自动设置组件parent的功能)
FocusBox:用来控制选择组件的位置与大小