{"id":17993867,"url":"https://github.com/timandy/fy_directui","last_synced_at":"2025-08-17T13:10:48.989Z","repository":{"id":97064156,"uuid":"70384951","full_name":"timandy/fy_directui","owner":"timandy","description":"DirectUI for Winform. Demo project fy_update(https://github.com/timandy/fy_update)","archived":false,"fork":false,"pushed_at":"2021-10-12T08:37:27.000Z","size":684,"stargazers_count":18,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T01:34:23.331Z","etag":null,"topics":["csharp","directui","winform"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timandy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-09T07:19:40.000Z","updated_at":"2025-03-17T09:15:03.000Z","dependencies_parsed_at":"2023-03-13T16:19:45.981Z","dependency_job_id":null,"html_url":"https://github.com/timandy/fy_directui","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timandy%2Ffy_directui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timandy%2Ffy_directui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timandy%2Ffy_directui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timandy%2Ffy_directui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timandy","download_url":"https://codeload.github.com/timandy/fy_directui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245576522,"owners_count":20638123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","directui","winform"],"created_at":"2024-10-29T20:13:18.370Z","updated_at":"2025-03-26T02:30:37.418Z","avatar_url":"https://github.com/timandy.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--自述文件--\u003e\n\n## DirectUI for Winform\n\n### 简介\n- DirectUI for Winform 是一个 winform 平台的界面库。\n\n### 开发环境\n- .net framework 4.0\n\n### 功能\n- 虚拟控件的无句柄渲染，支持重绘，方便扩展。\n- 图元支持，封装渲染方法，简化渲染操作。\n- 支持 win32 控件上无句柄渲染。\n- 消息分发，虚拟控件事件支持。\n- 动画接口，部分控件支持动画，可方便实现整个窗口渲染动画。\n- 实现部分虚拟控件。\n\n### 暂不支持的功能\n- Tab 焦点切换。\n- 键盘快捷键支持。\n- 虚拟输入框控件。\n- 设计模式支持。\n\n### 演示\n- 代码内包含一个示例。\n- 以下是一些常用的代码片段。\n\n```\n// 虚拟控件使用\nprivate void Init()\n{\n    UIButton button = new UIButton();\n    button.Size = new Size(70, 30);\n    button.Location = new Point(5, 15);\n    button.Text = “测试按钮”;\n    button.Click += (sender, e) =\u003e MessageBox.Show(\"按钮单击\");\n    this.UIControls.Add(button);\n}\n```\n\n```\n// 虚拟控件重绘\nprotected override void RenderSelf(PaintEventArgs e)\n{\n    Graphics g = e.Graphics;\n    Rectangle rect = RectangleEx.Subtract(this.ClientRectangle, this.Padding);\n    this.Sprite.BackColor = this.BackColor;\n    this.Sprite.Text = this.Text;\n    this.Sprite.TextRenderingHint = this.TextRenderingHint;\n    this.Sprite.TextAlign = this.TextAlign;\n    this.Sprite.BorderVisibleStyle = BorderVisibleStyle.None;\n    this.Sprite.State = this.State;\n    this.Sprite.BeginRender(g);\n    this.Sprite.RenderText(rect);\n    this.Sprite.EndRender();\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimandy%2Ffy_directui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimandy%2Ffy_directui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimandy%2Ffy_directui/lists"}