{"id":25080833,"url":"https://github.com/hjo12/texteditor","last_synced_at":"2025-10-22T04:31:03.802Z","repository":{"id":123421262,"uuid":"191210174","full_name":"hjo12/TextEditor","owner":"hjo12","description":"Simple text editor created with C# and Windows Forms","archived":false,"fork":false,"pushed_at":"2019-06-11T18:58:54.000Z","size":567,"stargazers_count":22,"open_issues_count":2,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-05T10:51:07.975Z","etag":null,"topics":["csharp","windows-applications","windows-forms","winforms"],"latest_commit_sha":null,"homepage":null,"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/hjo12.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2019-06-10T17:02:13.000Z","updated_at":"2025-01-14T12:03:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f4cc38d-675a-49c0-b641-5a175f597f5f","html_url":"https://github.com/hjo12/TextEditor","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"21c0b3260c2ded9f0c33939f12c7cf3a729d6eb7"},"previous_names":["hjo12/texteditor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hjo12%2FTextEditor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hjo12%2FTextEditor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hjo12%2FTextEditor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hjo12%2FTextEditor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hjo12","download_url":"https://codeload.github.com/hjo12/TextEditor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237590146,"owners_count":19335073,"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","windows-applications","windows-forms","winforms"],"created_at":"2025-02-07T04:26:46.404Z","updated_at":"2025-10-22T04:31:03.271Z","avatar_url":"https://github.com/hjo12.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Text Editor - Windows Forms\n\nThis application is a text editor written in C# and Windows Forms as part of my college class final project in Fall 2016. Other projects\nfor the final project included:\n\n* Simple login program using a SQL local database with Visual Studio. \n***Link to source***: https://github.com/hjohnson12/LoginPanel\n* Simple implementation of a file watcher program that watches a source directory for changes and copies the changes to the destination directory. \n***Link to source***:  https://github.com/hjohnson12/FileSync\n* Basic application that connects to a ftp server and does simple operations such as read contents in a directory, upload a file, and delete a file.\n***Link to source***: https://github.com/hjohnson12/FtpConnect  \n\n***NOTE: This version is not currently being worked on, waiting on XAML Islands release for further update***\n * This project was re-made into a Windows 10 Universal Windows Platform application a couple years ago when testing with UWP for the first time. It is now being re-made to use the newer framework and controls when free time is available: https://github.com/hjohnson12/NotepadEditorUWP \n\n### Screenshots of WinForms Version\n\n##### Standard design for text editor:\n\n![Image of Program](README_Images/AppEx1.png)\n\n##### Able to open files and display them into the editor:\n\n* Line/Column numbers also show according to where your cursor is selected\n\n![Image of Program](README_Images/AppEx2.png)\n\n##### Able to see an example of the color before you choose it:\n\n![Image of Program](README_Images/AppEx3.png)\n\n\n* Uses a KnownColor object for the selected color. Once backcolor is set, it converts the color to RGB values and\ndetermines if its considered a lighter or darker color. It then changes the text color accordingly:\n  * The following is the C# snippet:\n  ```csharp\n  // fill colors in color drop down list\n            foreach (System.Reflection.PropertyInfo prop in typeof(Color).GetProperties())\n            {\n                if (prop.PropertyType.FullName == \"System.Drawing.Color\")\n                {\n                    colorList.Add(prop.Name);     \n                }\n            }\n           \n            // fill the drop down items list\n            foreach(string color in colorList)\n            {\n                colorStripDropDownButton.DropDownItems.Add(color);\n            }\n\n            // fill BackColor for each color in the DropDownItems list\n            for (int i = 0; i \u003c colorStripDropDownButton.DropDownItems.Count; i++)\n            {\n                // Create KnownColor object\n                KnownColor selectedColor;\n                selectedColor = (KnownColor)System.Enum.Parse(typeof(KnownColor), colorList[i]);    // parse to a KnownColor\n                colorStripDropDownButton.DropDownItems[i].BackColor = Color.FromKnownColor(selectedColor);    // set the BackColor to its appropriate list item\n\n                // Set the text color depending on if the barkground is darker or lighter\n                // create Color object\n                Color col = Color.FromName(colorList[i]);\n\n                // 255,255,255 = White and 0,0,0 = Black\n                // Max sum of RGB values is 765 -\u003e (255 + 255 + 255)\n                // Middle sum of RGB values is 382 -\u003e (765/2)\n                // Color is considered darker if its \u003c= 382\n                // Color is considered lighter if its \u003e 382\n                sumRGB = ConvertToRGB(col);    // get the color objects sum of the RGB value\n                if (sumRGB \u003c= MIDDLE)    // Darker Background\n                {\n                    colorStripDropDownButton.DropDownItems[i].ForeColor = Color.White;    // set to White text\n                }\n                else if (sumRGB \u003e MIDDLE)    // Lighter Background\n                {\n                    colorStripDropDownButton.DropDownItems[i].ForeColor = Color.Black;    // set to Black text\n                }\n            }\n  ```\n\n\n##### Icons on each menu item in the menu bar:\n\n![Image of Program](README_Images/AppEx4.png)\n\n### Prerequisites\n\nRequires *Visual Studio 2017 or higher* to run. \n\n## Built With\n\n* C# Windows Forms\n\n## Contributing\n\n[Coming Soon]\n\n## Authors\n\n* **Hunter** - *Initial work* - [hjohnson012](https://github.com/hjohnson012)\n\nSee also the list of [contributors](https://github.com/hjohnson12/KanbanBoardUWP/graphs/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhjo12%2Ftexteditor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhjo12%2Ftexteditor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhjo12%2Ftexteditor/lists"}