Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/47: Рейтинг темы: голосов - 47, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 07.03.2016
Сообщений: 8

'Value' должно лежать в диапазоне от 'Minimum' до 'Maximum'

30.10.2018, 00:38. Показов 9330. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаю на форме NumericUpDown и TrackBar со следующими параметрами:
C#
1
2
3
4
5
6
7
8
  
nud_TemperatureA.DecimalPlaces = 0;            
nud_TemperatureA.ValueChanged += new EventHandler(nud_TemperatureA_ValueChanged);
nud_TemperatureA.Maximum = 100; nud_TemperatureA.Minimum = -273;               
nud_TemperatureA.Value = -130; 
                           
tb_TemperatureA.Maximum = 100; tb_TemperatureA.Minimum = -273;                  
tb_TemperatureA.Scroll += new EventHandler(tb_TemperatureA_Scroll);
Далее, мне необходимо, чтобы при измении значений любого из этих элементов, значение NumericUpDown было равно значению TrackBar.
Делаю следующим образом:
C#
1
2
3
4
5
6
7
8
9
private void nud_TemperatureA_ValueChanged(object sender, EventArgs e)
   {
       Convert.ToDecimal(tb_TemperatureA.Value); tb_TemperatureA.Value = (int)(nud_TemperatureA.Value);          
   }
 
private void tb_TemperatureA_Scroll(object sender, EventArgs e)
   {
       nud_TemperatureA.Value = tb_TemperatureA.Value;           
   }
Выдает ошибку:


Почему min и max у trackbar обнуляются?

PS. Это работало при создании обычного проекта WinForms, сейчас мне нужно этот проект сделать как DLL, в данном случае не получается, объясните, пожалуйста, что может быть не так?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.10.2018, 00:38
Ответы с готовыми решениями:

Ошибки System.ArgumentOutOfRangeException: Значение '3022' недопустимо для 'Value'. 'Value' должно лежать в диапазоне от
System.ArgumentOutOfRangeException: Значение '3022' недопустимо для 'Value'. 'Value' должно лежать в диапазоне от 'minimum' до 'maximum'. ...

Ошибка "Axix minimum value must be <= Maximum" (Delphi 2010)
chartComp.BottomAxis.Minimum := 2; chartComp.BottomAxis.Maximum := 3; Все же правильно, в чем проблема?

Ошибка "axis minimum value must be <= maximum"
Когда указываю что значения равны Xmin=14 Xmax=18 , выдает ошибку &quot;axis minimum value must be &lt;= maximum&quot;. Но при Xmin=1 Xmax=2*M_PI...

5
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
30.10.2018, 01:52
Целиком код покажите. Само по себе ничего не обнуляется.
0
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
30.10.2018, 10:25
qodp, а ещё у Вас вредная взаимозависимость обработчиков.
Рекомендую делать так:
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
private void nud_TemperatureA_ValueChanged(object sender, EventArgs e)
{
    tb_TemperatureA.Scroll -= tb_TemperatureA_Scroll;
    try
    {
        tb_TemperatureA.Value = (int)(nud_TemperatureA.Value);          
    }
    finally
    {
        tb_TemperatureA.Scroll += tb_TemperatureA_Scroll;
    }
}
 
private void tb_TemperatureA_Scroll(object sender, EventArgs e)
{
    nud_TemperatureA.ValueChanged -= nud_TemperatureA_ValueChanged;
    try
    {
       nud_TemperatureA.Value = tb_TemperatureA.Value;           
    }
    finally
    {
       nud_TemperatureA.ValueChanged += nud_TemperatureA_ValueChanged;
    }
}
1
0 / 0 / 0
Регистрация: 07.03.2016
Сообщений: 8
30.10.2018, 11:23  [ТС]
Весь код:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
namespace Graphics
{
    public partial class GraphicsForm : Form
    {
        public GraphicsForm()
        {
            InitializeComponent();
            tabPage_Graphics.Controls.Add(comboBox_SelectGraphic);
            comboBox_SelectGraphic.SelectedIndex = 0; //загрузка без графиков
        }
 
        ChartArea area = new ChartArea();
        Legend legend = new Legend();
        Series series1 = new Series();
        Series series2 = new Series();
 
        TrackBar tb_TemperatureA = new TrackBar();
        NumericUpDown nud_TemperatureA = new NumericUpDown();
        Label TemperatureA = new Label();
        TrackBar tb_M100 = new TrackBar();
        NumericUpDown nud_M100 = new NumericUpDown();
        Label M100 = new Label();
        TrackBar tb_b = new TrackBar();
        NumericUpDown nud_b = new NumericUpDown();
        Label b = new Label();
 
        private void comboBox_SelectGraphic_SelectedIndexChanged(object sender, EventArgs e)
        {           
            //выбор графика Вязкость битума от температуры
            else if (comboBox_SelectGraphic.SelectedIndex == 3)
            {
                tabPage_Graphics.Controls.Clear();
                chart1.ChartAreas.Clear();
                chart1.Legends.Clear();
                chart1.Series.Clear();
 
                tabPage_Graphics.Controls.Add(chart1);
                chart1.ChartAreas.Add(area);
                chart1.Legends.Add(legend);
                chart1.Series.Add(series1);
 
                series1.BorderWidth = 3;
                series1.ChartType = SeriesChartType.Spline;
                series1.Color = Color.Red;
 
                chart1.Series[0].Name = "Вязкость битума";
               
                //масштабирование по X
                chart1.ChartAreas[0].AxisX.ScaleView.Zoom(0, 150);
                chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
                chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
                chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
                chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;
                //масштабирование по Y
                chart1.ChartAreas[0].AxisY.ScaleView.Zoom(0, 150);
                chart1.ChartAreas[0].CursorY.IsUserEnabled = true;
                chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
                chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
                chart1.ChartAreas[0].AxisY.ScrollBar.IsPositionedInside = true;
 
                tabPage_Graphics.Controls.Add(comboBox_SelectGraphic);
                tabPage_Graphics.Controls.Add(TemperatureA);
                tabPage_Graphics.Controls.Add(nud_TemperatureA);
                tabPage_Graphics.Controls.Add(tb_TemperatureA);
                tabPage_Graphics.Controls.Add(M100);
                tabPage_Graphics.Controls.Add(nud_M100);
                tabPage_Graphics.Controls.Add(tb_M100);
                tabPage_Graphics.Controls.Add(b);
                tabPage_Graphics.Controls.Add(nud_b);
                tabPage_Graphics.Controls.Add(tb_b);
 
                TemperatureA.Text = "t(a)";
                TemperatureA.Location = new Point(840, 35);
                TemperatureA.Size = new Size(210, 20);
                nud_TemperatureA.DecimalPlaces = 0;
                nud_TemperatureA.Location = new Point(1055, 35);
                nud_TemperatureA.Size = new Size(70, 20);
                nud_TemperatureA.ValueChanged += new EventHandler(nud_TemperatureA_ValueChanged);
                nud_TemperatureA.Maximum = 100; nud_TemperatureA.Minimum = -273;               
                nud_TemperatureA.Value = -130;              
                tb_TemperatureA.Location = new Point(840, 60);
                tb_TemperatureA.Size = new Size(285, 55);
                tb_TemperatureA.Maximum = 100; tb_TemperatureA.Minimum = -273;                  
                tb_TemperatureA.Scroll += new EventHandler(tb_TemperatureA_Scroll);
 
                M100.Text = "M100";
                M100.Location = new Point(840, 115);
                M100.Size = new Size(210, 20);
                nud_M100.DecimalPlaces = 0;
                nud_M100.Location = new Point(1055, 115);
                nud_M100.Size = new Size(70, 20);
                nud_M100.ValueChanged += new EventHandler(nud_M100_ValueChanged);
                nud_M100.Minimum = 0; nud_M100.Maximum = decimal.MaxValue;
                nud_M100.Value = 220; 
                tb_M100.Location = new Point(840, 140);
                tb_M100.Size = new Size(285, 55);
                tb_M100.Minimum = 0; tb_M100.Maximum = 10000;                
                tb_M100.Scroll += new EventHandler(tb_M100_Scroll);
 
                b.Text = "b";
                b.Location = new Point(840, 195);
                b.Size = new Size(210, 20);
                nud_b.DecimalPlaces = 0;
                nud_b.Location = new Point(1055, 195);
                nud_b.Size = new Size(70, 20);
                nud_b.ValueChanged += new EventHandler(nud_b_ValueChanged);
                nud_b.Minimum = 0; nud_M100.Maximum = decimal.MaxValue;
                nud_b.Value = 20; 
                tb_b.Location = new Point(840, 220);
                tb_b.Size = new Size(285, 55);
                tb_b.Minimum = 0; tb_b.Maximum = 50;               
                tb_b.Scroll += new EventHandler(tb_b_Scroll);
                           
                DrawingDependenceOfViscosityBitumenOnTemperature();
            }           
        }
           
        private void nud_b_ValueChanged(object sender, EventArgs e)
        {
            if (nud_b.Value <= 50)
            { Convert.ToDecimal(tb_b.Value); tb_b.Value = (int)(nud_b.Value); }
            else { tb_b.Value = tb_b.Maximum; }
            DrawingDependenceOfViscosityBitumenOnTemperature();
        }
 
        private void tb_b_Scroll(object sender, EventArgs e)
        {
            nud_b.Value = tb_b.Value;
            DrawingDependenceOfViscosityBitumenOnTemperature();
        }
 
        private void nud_M100_ValueChanged(object sender, EventArgs e)
        {
            if (nud_M100.Value <= 10000)
            { Convert.ToDecimal(tb_M100.Value); tb_M100.Value = (int)(nud_M100.Value); }
            else { tb_M100.Value = tb_M100.Maximum; }
            if (comboBox_SelectGraphic.SelectedIndex == 3)
            { DrawingDependenceOfViscosityBitumenOnTemperature(); }
            else if (comboBox_SelectGraphic.SelectedIndex == 4)
            { DrawingDependenceOfViscosityBitumenOnPressure(); }
        }
 
        private void tb_M100_Scroll(object sender, EventArgs e)
        {
            nud_M100.Value = tb_M100.Value;
 
            if (comboBox_SelectGraphic.SelectedIndex == 3)
            { DrawingDependenceOfViscosityBitumenOnTemperature(); }
            else if (comboBox_SelectGraphic.SelectedIndex == 4)
            { DrawingDependenceOfViscosityBitumenOnPressure(); }
        }
 
        private void nud_TemperatureA_ValueChanged(object sender, EventArgs e)
        {
            Convert.ToDecimal(tb_TemperatureA.Value); tb_TemperatureA.Value = (int)(nud_TemperatureA.Value);
            if (comboBox_SelectGraphic.SelectedIndex == 3)
            { DrawingDependenceOfViscosityBitumenOnTemperature(); }
            else if (comboBox_SelectGraphic.SelectedIndex == 4)
            { DrawingDependenceOfViscosityBitumenOnPressure(); }
        }
 
        private void tb_TemperatureA_Scroll(object sender, EventArgs e)
        {        
            nud_TemperatureA.Value = tb_TemperatureA.Value;
            if (comboBox_SelectGraphic.SelectedIndex == 3)
            { DrawingDependenceOfViscosityBitumenOnTemperature(); }
            else if (comboBox_SelectGraphic.SelectedIndex == 4)
            { DrawingDependenceOfViscosityBitumenOnPressure(); }
        }
       
        //отрисовка графика Вязкость битума от температуры
        public void DrawingDependenceOfViscosityBitumenOnTemperature()
        {
            chart1.Series[0].Points.Clear();
            DependenceOfViscosityBitumenOnTemperature A = new DependenceOfViscosityBitumenOnTemperature();
            A.CalculateViscosity((double)nud_TemperatureA.Value, (double)nud_M100.Value, (double)nud_b.Value);
 
            int i = 0; //счетчик для вывода значений массива
            for (double Temperature = 0; Temperature < A.ArrayBitumen.Count; Temperature++, i++)
            {
                chart1.Series[0].Points.AddXY(Temperature, A.ArrayBitumen[i]);
            }
 
            dataGridView1.DataSource = A.ArrayBitumen.Select(bitumen => new { Bitumen = bitumen }).ToList();
            dataGridView1.Columns[0].HeaderText = "Вязкость битума от температуры";
        }
Добавлено через 14 минут
Someone007
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
30.10.2018, 12:53
Лучший ответ Сообщение было отмечено qodp как решение

Решение

Судя по коду, у вас скорее всего происходит обращение к контролам до вызова метода comboBox_SelectGraphic_SelectedIndexChan ged, в котором вы задаете их свойства...
1
0 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 1
15.12.2019, 12:48
Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.ArgumentOutOfRangeException: Значение '-3' недопустимо для 'Value'. 'Value' должно лежать в диапазоне от 'minimum' до 'maximum'.
Имя параметра: Value
в System.Windows.Forms.ProgressBar.set_Val ue(Int32 value)
в r)ryW-S$Zk}y\]av737SK/_xh.‬*‬*‏‪‬​‫‪‎*‬*‏‬‎‬‏‫ ‪**(Object , EventArgs )
в System.Windows.Forms.Timer.OnTick(EventA rgs e)
в System.Windows.Forms.Timer.TimerNativeWi ndow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3163.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
province_upd
Версия сборки: 1.0.0.0
Версия Win32: 4.0.3.0
CodeBase: file:///C:/games/MTA%20Province/MTA/province_upd.exe
----------------------------------------
lMsaiNCDQkweZkkHEagQnCaHKrPs
Версия сборки: 0.0.0.0
Версия Win32: 4.0.3.0
CodeBase: file:///C:/games/MTA%20Province/MTA/province_upd.exe
----------------------------------------
System
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3163.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3163.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3163.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3163.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3163.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.resources.dll
----------------------------------------
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.
Как исправить, помогите пожайлуста.
Прога не моя. Имя проги province_upd.exe
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.12.2019, 12:48
Помогаю со студенческими работами здесь

Ошибка System.Runtime.InteropServices.COMException: "Число должно находиться в диапазоне от 1 до 32767."
Кто знает что за проблем? Раньше всё работало, подробней об исключении под спойлером: System.Runtime.InteropServices.COMException ...

minimum divisor
Minimum divisor. Find the smallest integer divisor of X greater than 1 (It is guaranteed that X &gt; 1). Example input Output 4 2 ...

Range Minimum Query
Вам нужно создать структуру данных, которая представляет из себя массив целых чисел. Изначально массив пуст. Вам нужно поддерживать две...

Задача на MINIMUM в стеке
что бы не объяснять долго условие, вот задача http://www.e-olimp.com.ua/problems/693 Вот как я вижу этот алгоритм действий:необходимо...

Range Minimum Query
Компания Giggle открывает свой новый офис в Судиславле, и вы приглашены на собеседование. Ваша задача — решить поставленную задачу. ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru