Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
471 / 234 / 73
Регистрация: 25.05.2012
Сообщений: 1,081
Записей в блоге: 1
1

Вывести на форму загрузку CPU и графически отобразить это в виде заливки прямоугольника

13.01.2014, 14:46. Показов 2704. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Хочу вывести на форму загрузку CPU и графически отобразить это в виде заливки прямоугольника (столбика):

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
private readonly DispatcherTimer _timer;
        private readonly PerformanceCounter[] _pcs;
        private readonly string[] _text = 
        { "Загрузка CPU:", "Ядро 0:", 
            "Ядро 1:", "Ядро 2:", "Ядро 3:" };
 
         public MainWindow()
        {
            InitializeComponent();
                                
            _pcs = new PerformanceCounter[] {
                
                new PerformanceCounter("Процессор", "% загруженности процессора", "_Total"),
                new PerformanceCounter("Процессор", "% загруженности процессора", "0"),
                new PerformanceCounter("Процессор", "% загруженности процессора", "1"),
                new PerformanceCounter("Процессор", "% загруженности процессора", "2"),
                new PerformanceCounter("Процессор", "% загруженности процессора", "3")
                };
            
            _timer = new DispatcherTimer();  //период обновления CPU/RAM 
            _timer.Tick += new EventHandler(Timer_Tick);
            _timer.Interval = new TimeSpan(0, 0, 1); //1000 мс;
            _timer.Start();
 
        private void Timer_Tick(object sender, EventArgs e)
        {
            DisplayCPUandRAMData();
        }
 
        private void DisplayCPUandRAMData()
        {
            label1.Content = string.Empty;
            for (int i = 0; i < _pcs.Length; i++)
            {
                label1.Content += string.Format("{0} {1}%{2}", _text[i], _pcs[i].NextValue().ToString("0.00"), Environment.NewLine);
            }
 
            double percentage = Double.Parse(_pcs[0].NextValue().ToString("0.00"));
            
            //percentage = 0.3;
 
            label5.Content = string.Format("{0}", _pcs[0].NextValue().ToString("0.00"));          
            label6.Content = percentage.ToString(); 
 
            // далее идет код заливки прямоугольника с использованием переменной percentage
 
        }
}


В label1 процент загрузки CPU (и каждого ядра в отдельности) отображается верно.

Насколько я понимаю, _pcs[i].NextValue() имеет тип float, а для заливки прямоугольника требуется тип double
в label5 и label6 для контроля выведены результаты преобразования.

Почему при отладке переменная percentage принимает только значения 0.0 и 100.0?
(загрузка CPU при этом колеблется от 0 до ~5%)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.01.2014, 14:46
Ответы с готовыми решениями:

точку нужно отобразить в виде пикселя. как это сделать
/*Реализовать класс Graphic, который позволяет рисовать на экране консоли различные геометрические...

Вывести в виде таблицы значения функции, заданной графически
Имею наглость просить о помощи добрых людей. Лаба №3: Задание 1. Вычислить и вывести на...

Вывести в виде таблицы значения функции заданной графически
Помогите пожалуйста разобраться с лабой Вычислить и вывести на экран или в файл в виде таблицы...

Вывести в виде таблицы значения функции, заданной графически
Вычислить и вывести на экран в виде таблицы значения функции, заданной графически, на интервале от...

2
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
13.01.2014, 18:37 2
Я бы посоветовал вместо double float. И что _pcs[0].NextValue().ToString("0.00") имеет нужное число.
0
471 / 234 / 73
Регистрация: 25.05.2012
Сообщений: 1,081
Записей в блоге: 1
14.01.2014, 10:12  [ТС] 3
titans2011,

дело в том, что класс System.Windows.Media.GradientStop принимает значение типа double
(в том способе заливки прямоугольника, который я использую)

C#
1
2
3
4
5
6
7
8
9
10
11
12
double percentage = Double.Parse(_pcs[0].NextValue().ToString("0.00")) / 100;
           
            
            LinearGradientBrush brush = new LinearGradientBrush();
            brush.StartPoint = new Point(0, 1);
            brush.EndPoint = new Point(1, 1);
            
            brush.GradientStops.Add(new GradientStop(Colors.Red, 0));
            brush.GradientStops.Add(new GradientStop(Colors.Red, percentage));
            brush.GradientStops.Add(new GradientStop(Colors.Transparent, percentage));
 
            rect.Fill = brush;  // объект Rectangle на форме
0
14.01.2014, 10:12
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2014, 10:12
Помогаю со студенческими работами здесь

Вывести в виде таблицы значения функции, заданной графически
Вычислить и вывести на экран в виде таблицы значения функции, заданной графически, на интервале от...

Вывести на экран в виде таблицы значения функции, заданной графически
Здравствуйте) помогите пожалуйста с заданиями, все ни как не могу разобраться.. Задание 1....

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически
Помогите ребята, пожалуйста. Таблица значений функции Вычислить и вывести на экран в виде...

Вычислить и вывести на экран в виде таблицы значение функции, заданной графически
Вычислить и вывести на экран в виде таблицы значение функции, заданной графически, на интервале...

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически
Вычислить и вывести на экран в виде таблицы значения функции, заданной графически, на интервале от...

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически
Вычислить и вывести на экран в виде таблицы значения функции, заданной графически , на интервале...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Создание макробота, как способа экономии времени и варианта ИИ.
Hrethgir 28.01.2025
Чисто теоретически, создание ИИ на ПК можно разделить на части. Создать бота отвечающего за железо (эмулирование вкл, выкл, мышь, клавиатура), другой бот осуществляет распознавание изображений,. . .
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru