示例#1
0
    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);
            }
        }
    }