98 | {
99 | private ConsoleColor _defaultColor;
100 | public ConsoleColor DefaultColor
101 | {
102 | get { return _defaultColor; }
103 | set { _defaultColor = value; }
104 | }
105 | public void WriteLine(string text, ConsoleColor Color)
106 | {
107 | Console.ForegroundColor = Color;
108 | Console.WriteLine(text);
109 | }
110 |
111 | public void Write(string text, ConsoleColor Color)
112 | {
113 | Console.ForegroundColor = Color;
114 | Console.Write(text);
115 | }
116 | }*/
117 | }
118 |
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
5 |
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/ConsoleButtons.csproj.CopyComplete:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wTechnoo/ConsoleButtons/423e7a8616935701134253582fb0babb5ea879c4/ConsoleButtons/obj/Debug/ConsoleButtons.csproj.CopyComplete
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/ConsoleButtons.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 0833dbd9001eb510f1bc5b1badce55671a6ea187
2 |
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/ConsoleButtons.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Technoo\source\repos\ConsoleButtons\bin\Debug\ConsoleButtons.dll
2 | C:\Users\Technoo\source\repos\ConsoleButtons\bin\Debug\ConsoleButtons.pdb
3 | C:\Users\Technoo\source\repos\ConsoleButtons\obj\Debug\ConsoleButtons.csprojAssemblyReference.cache
4 | C:\Users\Technoo\source\repos\ConsoleButtons\obj\Debug\ConsoleButtons.csproj.CoreCompileInputs.cache
5 | C:\Users\Technoo\source\repos\ConsoleButtons\obj\Debug\ConsoleButtons.dll
6 | C:\Users\Technoo\source\repos\ConsoleButtons\obj\Debug\ConsoleButtons.pdb
7 | C:\Users\Technoo\source\repos\ConsoleButtons\bin\Debug\Colorful.Console.dll
8 | C:\Users\Technoo\source\repos\ConsoleButtons\obj\Debug\ConsoleButtons.csproj.CopyComplete
9 | C:\Users\Technoo\Documents\GitClones\ConsoleButtons\ConsoleButtons\bin\Debug\ConsoleButtons.dll
10 | C:\Users\Technoo\Documents\GitClones\ConsoleButtons\ConsoleButtons\bin\Debug\ConsoleButtons.pdb
11 | C:\Users\Technoo\Documents\GitClones\ConsoleButtons\ConsoleButtons\bin\Debug\Colorful.Console.dll
12 | C:\Users\Technoo\Documents\GitClones\ConsoleButtons\ConsoleButtons\obj\Debug\ConsoleButtons.csprojAssemblyReference.cache
13 | C:\Users\Technoo\Documents\GitClones\ConsoleButtons\ConsoleButtons\obj\Debug\ConsoleButtons.csproj.CoreCompileInputs.cache
14 | C:\Users\Technoo\Documents\GitClones\ConsoleButtons\ConsoleButtons\obj\Debug\ConsoleButtons.csproj.CopyComplete
15 | C:\Users\Technoo\Documents\GitClones\ConsoleButtons\ConsoleButtons\obj\Debug\ConsoleButtons.dll
16 | C:\Users\Technoo\Documents\GitClones\ConsoleButtons\ConsoleButtons\obj\Debug\ConsoleButtons.pdb
17 |
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/ConsoleButtons.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wTechnoo/ConsoleButtons/423e7a8616935701134253582fb0babb5ea879c4/ConsoleButtons/obj/Debug/ConsoleButtons.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/ConsoleButtons.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wTechnoo/ConsoleButtons/423e7a8616935701134253582fb0babb5ea879c4/ConsoleButtons/obj/Debug/ConsoleButtons.dll
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/ConsoleButtons.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wTechnoo/ConsoleButtons/423e7a8616935701134253582fb0babb5ea879c4/ConsoleButtons/obj/Debug/ConsoleButtons.pdb
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/DesignTimeResolveAssemblyReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wTechnoo/ConsoleButtons/423e7a8616935701134253582fb0babb5ea879c4/ConsoleButtons/obj/Debug/DesignTimeResolveAssemblyReferences.cache
--------------------------------------------------------------------------------
/ConsoleButtons/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wTechnoo/ConsoleButtons/423e7a8616935701134253582fb0babb5ea879c4/ConsoleButtons/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Console Buttons
2 |
3 | 
4 |
5 | Clickable UI for C# Console
6 | Buttons, checkboxes, sliders and more!
7 |
8 | ⚠️ Warning
9 | Console buttons will only work when launched through the built .EXE on RELEASE mode
10 |
11 | ✔️ Changes (24/12/21)
12 | 1. Removed Colorful.Console dependency
13 | 2. Added proper WriteLine and Clear that works as expected (default Console.WriteLine wasn't producing proper results)
14 | 3. Renamed some of the scripts
15 |
16 | ❔ To be worked on
17 | 1. Adding a way to the user to use their own/downloaded console packages (such as Colorful.Console or any other color package)
18 |
19 |
20 | Download the package through nugget or build it yourself!
21 |
22 | ⌨️ Example Usage
23 |
24 |
25 | ```csharp
26 | static void Main(string[] args)
27 | {
28 | UIManager manager = new UIManager();
29 |
30 | //Button constructor that auto detects the COLLIDER WIDTH based on how many characters there are on the text.
31 | Button button = new Button("Sign Up", 0, 0);
32 | button.OnHoverOver += () => { button.WriteWithColor(ConsoleColor.Gray); };
33 | button.OnHoverStop += () => { button.WriteWithNoColor(); };
34 | button.OnClick += () => { button.WriteWithColor(ConsoleColor.Red); Thread.Sleep(50); };
35 | button.OnHold += () => { button.WriteWithColor(ConsoleColor.Red); };
36 |
37 | //Checkbox constructor order (text string, marked checkbox char, is initialized as checked, collide with text, X and Y)
38 | CheckBox checkBox = new CheckBox("Checkbox", 'X', false, true, 0, 0);
39 | checkBox.OnHoverOver += () => { checkBox.WriteWithColor(ConsoleColor.Gray); };
40 | checkBox.OnHoverStop += () => { checkBox.WriteWithNoColor(); };
41 | checkBox.OnClick += () => { checkBox.WriteWithColor(ConsoleColor.Cyan); Thread.Sleep(50); };
42 | checkBox.OnHold += () => { checkBox.WriteWithColor(ConsoleColor.Red); };
43 |
44 | //Slider constructor order (initial value, max value, slider size, convert to int, filled char, unfilled char, X and Y)
45 | Slider slider = new Slider(0, 10, 10, false, '█', ' ', 5,5);
46 | slider.OnHoverOver += () => { slider.WriteWithColor(ConsoleColor.Gray); };
47 | slider.OnHoverStop += () => { slider.WriteWithNoColor(); };
48 | slider.OnHold += () => { slider.WriteWithColor(ConsoleColor.Red); Console.Write(slider.Value, ConsoleColor.Aqua); };
49 |
50 | manager.AddToComponents(button);
51 | manager.AddToComponents(checkBox);
52 | manager.AddToComponents(slider);
53 |
54 | while (true)
55 | {
56 | manager.Update();
57 | }
58 |
59 | Console.ReadKey();
60 | }
61 | ```
62 |
--------------------------------------------------------------------------------