public static void Main(string[] args) { Win32Console.SetConsoleInputMode(ConsoleInputMode.ExtendedFlags | ConsoleInputMode.MouseInput); ConsoleButton cb1 = new ConsoleButton { X = 10, Y = 10, Width = 10, Height = 1, Text = "Button 1" }; ConsoleButton cb2 = new ConsoleButton { X = 40, Y = 10, Width = 10, Height = 1, Text = "Button 2" }; void handler(ConsoleButton cb) => Win32Console.PutString(0, 0, cb.Text); cb1.Pressed += handler; cb2.Pressed += handler; cb1.Draw(); cb2.Draw(); foreach (IInputEvent ev in Win32Console.PumpInputEvents(true)) { if (ev is MouseInputEvent mie) { Win32Console.PutString(string.Format("{0} {1} {2},{3} ", mie.Type, mie.LeftButton, mie.MouseX, mie.MouseY)); } if (!cb1.OnInputEvent(ev)) { cb2.OnInputEvent(ev); } } }