Вывод текста в консоли в углу, независящего от остального - C#

Узнай цену своей работы

Формулировка задачи:

Хочу сделать в правом нижнем углу динамический текст, который будет обновляться. Мне надо сделать так, что бы он отображался всегда, поверх всех надписей. Как такое сделать?

Решение задачи: «Вывод текста в консоли в углу, независящего от остального»

textual
Листинг программы
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Threading;
 
namespace ConsoleApplication1 {
    class Program {
        [DllImport("user32.dll", SetLastError = true)]
        static extern bool GetClientRect(IntPtr hwnd, out Rectangle lpRect);
 
        static void Main(string[] args) {
            Thread t = new Thread(DrawTime);
            t.Start();
            while (true) {
                ConsoleKeyInfo cki = Console.ReadKey(false);
                if (cki.Key == ConsoleKey.Escape) break;
            }
 
            t.Abort();
        }
 
        static void DrawTime() {
            while (true) {
                Thread.Sleep(100);//Небольшая задержка, чтобы не мерцало
                Rectangle clientArea;
                IntPtr hwnd = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
                GetClientRect(hwnd, out clientArea);
                string time = DateTime.Now.ToLongTimeString();
 
                using (Graphics g = Graphics.FromHwnd(hwnd)) {
                    using (Font f = new Font("Courier New", 25)) {
                        SizeF sf = g.MeasureString(time, f);
                        float x = clientArea.Right - sf.Width, y = clientArea.Bottom - sf.Height;
                        g.Clip = new Region(new RectangleF(x, y, sf.Width, sf.Height));
                        g.Clear(Color.Black);
                        g.DrawString(time, f, Brushes.LightGreen, new PointF(x, y));
                    }
                }
            }
 
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.455 из 5
Похожие ответы