{"id":25531704,"url":"https://github.com/alexmollard/csx-forms","last_synced_at":"2026-05-10T16:34:05.838Z","repository":{"id":278303529,"uuid":"935178111","full_name":"AlexMollard/CSX-Forms","owner":"AlexMollard","description":"A WinForms utility script for csx files to build windowed applications.","archived":false,"fork":false,"pushed_at":"2025-02-19T03:46:14.000Z","size":2057,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-19T04:21:51.688Z","etag":null,"topics":["csharp","csx","script","winforms"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexMollard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-02-19T03:03:31.000Z","updated_at":"2025-02-19T03:47:41.000Z","dependencies_parsed_at":"2025-02-19T04:22:04.161Z","dependency_job_id":"7084e93d-f543-451f-b5e4-3f742151ff39","html_url":"https://github.com/AlexMollard/CSX-Forms","commit_stats":null,"previous_names":["alexmollard/csx-forms"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexMollard%2FCSX-Forms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexMollard%2FCSX-Forms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexMollard%2FCSX-Forms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexMollard%2FCSX-Forms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexMollard","download_url":"https://codeload.github.com/AlexMollard/CSX-Forms/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239758890,"owners_count":19692041,"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","csx","script","winforms"],"created_at":"2025-02-20T01:19:40.435Z","updated_at":"2026-05-10T16:34:05.754Z","avatar_url":"https://github.com/AlexMollard.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CSX-Forms\n\nCSX-Forms is a WinForms utility script for CSX files to build windowed applications using C# scripting. It provides a set of utilities to create and manage Windows Forms with modern features like dark mode, rounded corners, and custom themes.\n\n## Features\n\n- **DPI Scaling**: Automatically scales forms based on the system DPI.\n- **Dark Mode**: Automatically detects and applies dark mode based on the Windows theme.\n- **Rounded Corners**: Enables rounded corners for Windows 10 and above.\n- **Custom Themes**: Easily switch between light and dark themes with customizable colors.\n- **Keyboard Shortcuts**: Add keyboard event handlers to forms.\n- **WinForms Controls**: Use standard WinForms controls like buttons, labels, and textboxes.\n\n## Getting Started\n\n### Prerequisites\n\n- .NET Framework\n- [CSX](https://github.com/dotnet-script/dotnet-script) (C# scripting)\n\n### Installation\n\n1. Clone the repository:\n    ```sh\n    git clone https://github.com/AlexMollard/CSX-Forms.git\n    cd CSX-Forms\n    ```\n\n2. Ensure you have the required dependencies:\n    ```sh\n    dotnet tool install -g dotnet-script\n    ```\n\n### Usage\n\n1. Create a new CSX script or use one of the examples provided in the `examples` directory.\n\n2. Load the `Window.csx` script in your CSX file:\n    ```csharp\n    #load \"Window.csx\"\n    ```\n\n3. Use the `WindowManager` class to create and manage your forms. For example:\n    ```csharp\n    using System;\n    using System.Windows.Forms;\n    using System.Drawing;\n\n    WindowManager windowManager = new WindowManager();\n\n    Form form = new Form\n    {\n        Text = \"My App\",\n        Size = new Size(800, 600),\n        Font = new Font(\"Segoe UI\", 16F),\n        Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath) // Set the window icon (optional)\n    };\n\n    windowManager.CreateForm(form); // All done here!\n    ```\n\n### Examples\n\n- **Calculator Window**: A simple calculator application.\n    ```sh\n    dotnet script examples/calculatorWindow.csx\n    ```\n\n- **Basic Window**: A basic window with a button and status strip.\n    ```sh\n    dotnet script examples/basicWindow.csx\n    ```\n\n### Screenshots\n\n![Basic Window](resources/basicWindow.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexmollard%2Fcsx-forms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexmollard%2Fcsx-forms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexmollard%2Fcsx-forms/lists"}