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

Не работает вывод textBox1 через метод. Только через нажатие button1_Click

22.02.2018, 22:06. Показов 1834. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не работает вывод textBox1 через метод. Только через нажатие button1_Click
НЕ РАБОТАЕТ
C#
1
2
3
4
public void svecha(string a)
        {
         this.textBox1.Text = a;
        }
РАБОТАЕТ
C#
1
2
3
4
private void button1_Click(object sender, EventArgs e)
        {         
            this.textBox1.Text = "Работает";     
        }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2018, 22:06
Ответы с готовыми решениями:

Не работает вывод двумерного массива через метод класса
При обращении к методу getStringSymbol и getAllStrings прога вылетает, помогите пожалуйста #include "stdafx.h" #include...

2 базы на 1 exe файле. Но сравнение работает только через=, но не через <>, not
Здравствуйте! 2 базы access на 1 exe файле, подключены через 4 ADOConnection, по 1 коннекту с DBGrid на выборки для каждой из баз,...

Не работает интернет ни через выделенную сеть ни через модем, хотя работает через wifi
Не работает интернет ни через выделенную сеть ни через USB модем, хотя работает через wifi. Бьюсь уже несколько дней пока добиться...

17
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
22.02.2018, 23:29
покажите как и где вы его вызываете
0
1 / 1 / 0
Регистрация: 09.06.2017
Сообщений: 13
23.02.2018, 00:04
Быстренько накидал и всё работает

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace DBLesson1
{
    public partial class Form1 : Form
    {
        public void svecha(string a)
        {
            this.textBox1.Text = a;
        }
 
 
        public Form1()
        {
            InitializeComponent();
 
            svecha("Привет");
 
            MessageBox.Show(textBox1.Text);
        }
    }
}
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 37
23.02.2018, 00:31  [ТС]
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace ОКНА_ВИНДОВС
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();       
        }
 
        public void button1_Click(object sender, EventArgs e)
        {
            new test().test2();
        //   this.textBox1.Text  =  this.textBox1.Text + "\r\n" + DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss:fff");// textBox1.Text;
        }
      
       public void test(string a)
        {
            this.textBox1.Text = a; // НЕ РАБОТАЕТ
            MessageBox.Show(a);     // РАБОТАТ
        }
 
        public void textBox1_TextChanged(object sender, EventArgs e)
        { 
        }
    }
 
    public class test 
    { 
       public void test2()  
        {
          new Form1().test("НЕ ПАШЕТ");
       } 
    }
}
Добавлено через 6 минут
быстренько не получилось, третий день!!!!!!!
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
23.02.2018, 01:22
чето я не понимаю вашего капса. вы заполняете текст бокс на новой, только что созданной форме, которая не отображается.
Так что все "РАБОТАЕТ". Это вы НЕ ПОНИМАЕТЕ как оно работает.
1
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 37
23.02.2018, 01:29  [ТС]
из другого класса пытаюсь передать аргумент и вывести в Form1.
Message работает, а в Form1 нет! Есть решение?
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
23.02.2018, 01:34
Лучший ответ Сообщение было отмечено litvinovboris как решение

Решение

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace ОКНА_ВИНДОВС
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();       
        }
 
        public void button1_Click(object sender, EventArgs e)
        {
            new test().test2(this);
        //   this.textBox1.Text  =  this.textBox1.Text + "\r\n" + DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss:fff");// textBox1.Text;
        }
      
       public void test(string a)
        {
            this.textBox1.Text = a; // НЕ РАБОТАЕТ
            MessageBox.Show(a);     // РАБОТАТ
        }
 
        public void textBox1_TextChanged(object sender, EventArgs e)
        { 
        }
    }
 
    public class test 
    { 
       public void test2(Form1 form)  
        {
          form.test("НЕ ПАШЕТ");
       } 
    }
}
например так
1
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 37
23.02.2018, 16:19  [ТС]
Не получается прикрутить!!!
Тема такая. хочу из метода класса программы передать аргумент.
Программа не моя, хочу внедрится. Создал Form1.
Пытался делегатом, путем передачи аргумента в метод Form1.
Не получается.
Как передать аргумент не понимаю.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
partial class ChartWindow
    {
        private void ProcessNewCandle(CandleSeries series, Candle candle)
        {
            if (series != _candleSeries)
                return;
 
            Chart.Draw(_candleElem, candle);
            var longSma = new StockSharp.Algo.Indicators.SimpleMovingAverage { Length = 10 };
            
            decimal ttt = candle.ClosePrice;
            //  ttt нужно передать в form1,  что бы открылось там в TextBox1 или подобном!
                }
}
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
23.02.2018, 16:35
Аргументы этого метода - это series и candle. А ttt это локальная переменная, которая существует только внутри метода.
Для того чтобы эту переменную вернуть из метода, метод должен иметь тип возвращаемого значения не void а decimal. В конце метода пишем return ttt; и радуемся

Добавлено через 1 минуту
Но если вам просто нужно получить доступ к candle.ClosePrice, то вам вообще не обязательно нырять в какой-то метод. Вам достаточно получить объект candle
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 37
23.02.2018, 17:22  [ТС]
если меняю void на decimal то ругается выше строка
_trader.CandleSeriesProcessing += ProcessNewCandle;

Как получить объект candle?
Сделать экземпляр не удалось this.textBox1.Text = new Candle().OpenPrice;

в form1 добавил
private void ProcessNewCandle(CandleSeries series, Candle candle)
{
ничего не приходит!
}
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
23.02.2018, 18:00
у вас такая каша в голове... вы можете весь код показать?
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 37
23.02.2018, 18:52  [ТС]
Дело в том, что все эти пути не работают...
Изучаю ООП. Понимаю что самые простые вещи описаны для людей которые знают уже языки, возможно не один!
Там программа написана профами.
Мне всего лишь нужно, как описано выдернуть путем делегатов, событий, лямд, да чем угодно входящий аргумент.
Четвертый день, вся эта наука не работает.
1. Не могу создать энземпляр, по тому что на входе конструктор принимающей аргументы
2 Прикрутится в методе путем делигата не получается, срабатывает лишь меседж, но не выводится!
3. Любые внедрения и изменения приводят к ругательству остальных частей кода.

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
#region S# License
/******************************************************************************************
NOTICE!!!  This program and source code is owned and licensed by
StockSharp, LLC, www.stocksharp.com
Viewing or use of this code requires your acceptance of the license
agreement found at https://github.com/StockSharp/StockSharp/blob/master/LICENSE
Removal of this comment is a violation of the license agreement.
 
Project: SampleQuik.SampleQuikPublic
File: ChartWindow.xaml.cs
Created: 2015, 11, 11, 2:32 PM
 
Copyright 2010 by StockSharp, LLC
*******************************************************************************************/
#endregion S# License
namespace SampleQuik
{
    using System;
    using System.ComponentModel;
    using System.Windows.Media;
 
    using StockSharp.Algo.Candles;
    using StockSharp.Quik;
    using StockSharp.Xaml.Charting;
    using StockSharp.Algo.Indicators;
 
    partial class ChartWindow
    {
        private readonly QuikTrader _trader;
        private readonly CandleSeries _candleSeries;
        private readonly ChartCandleElement _candleElem;
 
        public ChartWindow(CandleSeries candleSeries, DateTime from, DateTime to)
        {
            InitializeComponent();
 
            if (candleSeries == null)
                throw new ArgumentNullException(nameof(candleSeries));
 
            _candleSeries = candleSeries;
            _trader = MainWindow.Instance.Trader;
 
            Chart.ChartTheme = ChartThemes.ExpressionDark;
 
            var area = new ChartArea();
            Chart.Areas.Add(area);
            
            _candleElem = new ChartCandleElement
            {
                AntiAliasing = false, 
                UpFillColor = Colors.LightGreen,
                UpBorderColor = Colors.White,
                DownFillColor = Colors.LightPink,
                DownBorderColor = Colors.White,
            //    ShowHorizontalVolumes = true,
            //    IsLegend = true,
           //     LocalHorizontalVolumes = true,
            };
 
            area.Elements.Add(_candleElem);
 
            _trader.CandleSeriesProcessing += ProcessNewCandle;
            _trader.SubscribeCandles(_candleSeries, from, to);
 
            Title = candleSeries.ToString();
        }
delegate void Operation(string x); // МОЙ ДЕЛИГАТ
Operation svecha;  // // МОЙ ДЕЛИГАТ
 
 
        private void ProcessNewCandle(CandleSeries series, Candle candle)
        {
            if (series != _candleSeries)
                return;
 
            Chart.Draw(_candleElem, candle);
            //     Chart.ShowOverview = true;
            var longSma = new StockSharp.Algo.Indicators.SimpleMovingAverage { Length = 10 };
            
            decimal ttt = candle.ClosePrice;
 
            // ВСЕГО ЛИШЬ НУЖНО ГРЁБАНЫЙ  candle передать в FROM1 что бы он там РАБОТАЛ в окне From
 
            //   svecha = new Form1().svecha;
            //     Operation Operat;
            //      Operat = new Form1().loti;
            //       Operat(ttt.ToString());
            ///  new Form1().svecha(ttt.ToString());
            //    svecha("НЕ ПАШЕТ");
            //   System.Windows.MessageBox.Show(ttt.ToString());
            //   test2(this);
 
        }
 
 
 
 
 
        protected override void OnClosing(CancelEventArgs e)
        {
            _trader.UnSubscribeCandles(_candleSeries);
            _trader.CandleSeriesProcessing -= ProcessNewCandle;
 
            base.OnClosing(e);
        }
    }



}

Добавлено через 11 минут
Любые внедрения и изменения приводят к ругательству остальных частей кода. void на decimal + return аргумент;
Ну конечно Издевательство, такое ощущение что книжки об одном, а коды о другом! Как будто закрыто куда не сунься!
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
23.02.2018, 19:23
покажите код класса QuikTrader
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 37
23.02.2018, 19:56  [ТС]
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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
#region Сборка StockSharp.Quik, Version=4.4.4.0, Culture=neutral, PublicKeyToken=null
// c:\Users\AimBot\Downloads\StockSharp\StockSharp_4.4.4_ru\References\StockSharp.Quik.dll
#endregion
 
using System;
using System.Collections.Generic;
using System.Net;
using System.Security;
using Ecng.ComponentModel;
using Ecng.Serialization;
using StockSharp.Algo;
using StockSharp.BusinessEntities;
using StockSharp.Messages;
 
namespace StockSharp.Quik
{
    //
    // Сводка:
    //     Реализация интерфейса StockSharp.BusinessEntities.IConnector, предоставляющая
    //     подключение к терминалу Quik.
    [Icon("Quik_logo.png", false)]
    public class QuikTrader : Connector
    {
        //
        // Сводка:
        //     Адрес по-умолчанию к LUA FIX серверу. Равен localhost:5001
        public static readonly EndPoint DefaultLuaAddress;
 
        //
        // Сводка:
        //     Создать StockSharp.Quik.QuikTrader.
        public QuikTrader();
        //
        // Сводка:
        //     Создать StockSharp.Quik.QuikTrader.
        //
        // Параметры:
        //   path:
        //     Путь к директории, где установлен Quik (или путь к файлу info.exe).
        public QuikTrader(string path);
 
        //
        // Сводка:
        //     Настройки DDE таблицы Валюты портфелей.
        public DdeTable CurrencyPortfoliosTable { get; }
        //
        // Сводка:
        //     Список произвольных таблиц.
        public IList<DdeCustomTable> CustomTables { get; }
        //
        // Сводка:
        //     Название DDE сервера. По-умолчанию равно STOCKSHARP.
        public string DdeServer { get; set; }
        //
        // Сводка:
        //     Таблицы, для которых будет запущен экспорт данных по DDE.
        public IEnumerable<DdeTable> DdeTables { get; set; }
        //
        // Сводка:
        //     Настройки DDE таблицы Портфель по деривативам.
        public DdeTable DerivativePortfoliosTable { get; }
        //
        // Сводка:
        //     Настройки DDE таблицы Позиции по деривативам.
        public DdeTable DerivativePositionsTable { get; }
        //
        // Сводка:
        //     Имя dll-файла, содержащее Quik API. По-умолчанию равно TRANS2QUIK.DLL.
        public string DllName { get; set; }
        //
        // Сводка:
        //     Настройки DDE таблицы Портфель по бумагам.
        public DdeTable EquityPortfoliosTable { get; }
        //
        // Сводка:
        //     Настройки DDE таблицы Позиции по бумагам.
        public DdeTable EquityPositionsTable { get; }
        //
        // Сводка:
        //     Асинхронный режим. Если true, то все транзакции, такие как StockSharp.BusinessEntities.IConnector.RegisterOrder(StockSharp.BusinessEntities.Order)
        //     или StockSharp.BusinessEntities.IConnector.CancelOrder(StockSharp.BusinessEntities.Order)
        //     будут отправляться в асинхронном режиме.
        //
        // Примечания.
        //     Значение по умолчанию true.
        public bool IsAsyncMode { get; set; }
        //
        // Сводка:
        //     Поддерживает ли Quik Единую Денежную Позицию.
        //
        // Примечания.
        //     false по умолчанию.
        public bool IsCommonMonetaryPosition { get; set; }
        //
        // Сводка:
        //     Использовать для старое подключение DDE + Trans2Quik. По-умолчанию выключено.
        public bool IsDde { get; set; }
        //
        // Сводка:
        //     Адрес сервера для Lua подключения.
        public EndPoint LuaFixServerAddress { get; set; }
        //
        // Сводка:
        //     Идентификатор пользователя для Lua подключения.
        public string LuaLogin { get; set; }
        //
        // Сводка:
        //     Пароль пользователя для Lua подключения.
        public SecureString LuaPassword { get; set; }
        //
        // Сводка:
        //     Настройки DDE таблицы Мои Сделки.
        public DdeTable MyTradesTable { get; }
        //
        // Сводка:
        //     Настройки DDE таблицы Заявки.
        public DdeTable OrdersTable { get; }
        //
        // Сводка:
        //     Перезаписать файл библиотеки из ресурсов. По-умолчанию файл будет перезаписан.
        public bool OverrideDll { get; set; }
        //
        // Сводка:
        //     Путь к директории, где установлен Quik (или путь к файлу info.exe). По-умолчанию
        //     равно StockSharp.Quik.QuikTerminal.GetDefaultPath.
        public string Path { get; set; }
        //
        // Сводка:
        //     Настройки DDE таблицы со стаканом.
        public DdeTable QuotesTable { get; }
        //
        // Сводка:
        //     Запрашивать все инструменты при подключении.
        public bool RequestAllSecurities { get; set; }
        //
        // Сводка:
        //     Настройки DDE таблицы Инструменты (изменения).
        public DdeTable SecuritiesChangeTable { get; }
        //
        // Сводка:
        //     Настройки DDE таблицы Инструменты.
        public DdeTable SecuritiesTable { get; }
        //
        // Сводка:
        //     Настройки DDE таблицы Стоп-Заявки.
        public DdeTable StopOrdersTable { get; }
        //
        // Сводка:
        //     Загружать заявки, поданные вручную через Quik.
        //
        // Примечания.
        //     Значение по умолчанию false.
        public bool SupportManualOrders { get; set; }
        //
        // Сводка:
        //     Вспомогательный класс для управления терминалом Quik.
        public QuikTerminal Terminal { get; }
        //
        // Сводка:
        //     Настройки DDE таблицы Сделки.
        public DdeTable TradesTable { get; }
 
        //
        // Сводка:
        //     Обработать изменения строчек таблицы, зарегистрированной через StockSharp.Quik.QuikTrader.CustomTables.
        public event Action<Type, IEnumerable<object>> CustomTablesChanged;
        //
        // Сводка:
        //     Отформатировать транзакцию (добавить, удалить или заменить параметры) перед тем,
        //     как она будет отправлена в Quik.
        public event Action<Transaction> FormatTransaction;
        //
        // Сводка:
        //     Обработать новые строчки таблицы, зарегистрированной через StockSharp.Quik.QuikTrader.CustomTables.
        public event Action<Type, IEnumerable<object>> NewCustomTables;
        //
        // Сводка:
        //     Обработать новые строчки таблицы Инструменты (изменения).
        public event Action<Security, Level1ChangeMessage> NewSecurityChanges;
        //
        // Сводка:
        //     Обработать поступающие DDE данные (событие вызывается до всех остальных событий
        //     StockSharp.Quik.QuikTrader).
        public event Action<string, IList<IList<object>>> PreProcessDdeData;
        //
        // Сводка:
        //     Обработать неизвестные DDE данные.
        public event Action<string, IList<IList<object>>> ProcessUnknownDdeData;
        //
        // Сводка:
        //     Обработать известные DDE данные.
        public event Action<string, IDictionary<object, IList<object>>> ProcessWellKnownDdeData;
 
        //
        // Сводка:
        //     Получить транзакцию по идентификатору.
        //
        // Параметры:
        //   id:
        //     Идентификатор транзакции.
        //
        // Возврат:
        //     Транзакция.
        public Transaction GetTransaction(long id);
        //
        // Сводка:
        //     Загрузить настройки.
        //
        // Параметры:
        //   storage:
        //     Хранилище настроек.
        public override void Load(SettingsStorage storage);
        //
        // Сводка:
        //     Сохранить настройки.
        //
        // Параметры:
        //   storage:
        //     Хранилище настроек.
        public override void Save(SettingsStorage storage);
        //
        // Сводка:
        //     Запустить экспорт данных из торговой системы в программу для произвольной таблицы,
        //     зарегистрированной в StockSharp.Quik.QuikTrader.CustomTables.
        //
        // Параметры:
        //   customTable:
        //     Описание DDE экспорта произвольной таблицы.
        public void StartExport(DdeCustomTable customTable);
        //
        // Сводка:
        //     Запустить экспорт данных таблицы из торговой системы в программу.
        //
        // Параметры:
        //   caption:
        //     Название таблицы, для которой нужно запустить экспорт.
        public void StartExport(string caption);
        //
        // Сводка:
        //     Остановить экспорт данных таблицы из торговой системы в программу.
        //
        // Параметры:
        //   caption:
        //     Название таблицы, для которой нужно запустить экспорт.
        public void StopExport(string caption);
        //
        // Сводка:
        //     Остановить экспорт данных из торговой системы в программу для произвольной таблицы,
        //     зарегистрированной в StockSharp.Quik.QuikTrader.CustomTables.
        //
        // Параметры:
        //   customTable:
        //     Описание DDE экспорта произвольной таблицы.
        public void StopExport(DdeCustomTable customTable);
        //
        // Сводка:
        //     Отменить группу заявок на бирже по фильтру.
        //
        // Параметры:
        //   transactionId:
        //     Идентификатор транзакции отмены.
        //
        //   isStopOrder:
        //     true, если нужно отменить только стоп-заявки, false - если только обычный и null
        //     - если оба типа.
        //
        //   portfolio:
        //     Портфель. Если значение равно null, то портфель не попадает в фильтр снятия заявок.
        //
        //   direction:
        //     Направление заявки. Если значение равно null, то направление не попадает в фильтр
        //     снятия заявок.
        //
        //   board:
        //     Торговая площадка. Если значение равно null, то площадка не попадает в фильтр
        //     снятия заявок.
        //
        //   security:
        //     Инструмент. Если значение равно null, то инструмент не попадает в фильтр снятия
        //     заявок.
        //
        //   securityType:
        //     Тип инструмента. Если значение равно null, то тип не попадает в фильтр снятия
        //     заявок.
        protected override void OnCancelOrders(long transactionId, bool? isStopOrder = default(bool?), Portfolio portfolio = null, Sides? direction = default(Sides?), ExchangeBoard board = null, Security security = null, SecurityTypes? securityType = default(SecurityTypes?));
        //
        // Сводка:
        //     Обработать сообщение.
        //
        // Параметры:
        //   message:
        //     Сообщение.
        protected override void OnProcessMessage(Message message);
        //
        // Сводка:
        //     Перерегистрировать заявку на бирже.
        //
        // Параметры:
        //   oldOrder:
        //     Заявка, которую нужно снять.
        //
        //   newOrder:
        //     Новая заявка, которую нужно зарегистрировать.
        protected override void OnReRegisterOrder(Order oldOrder, Order newOrder);
    }
}
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
23.02.2018, 20:17
Короче, в этом я разбираться точно не хочу, но можно сделать следующим образом:
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
#region S# License
/******************************************************************************************
NOTICE!!!  This program and source code is owned and licensed by
StockSharp, LLC, www.stocksharp.com
Viewing or use of this code requires your acceptance of the license
agreement found at https://github.com/StockSharp/StockSharp/blob/master/LICENSE
Removal of this comment is a violation of the license agreement.
 
Project: SampleQuik.SampleQuikPublic
File: ChartWindow.xaml.cs
Created: 2015, 11, 11, 2:32 PM
 
Copyright 2010 by StockSharp, LLC
*******************************************************************************************/
#endregion S# License
namespace SampleQuik
{
    using System;
    using System.ComponentModel;
    using System.Windows.Media;
 
    using StockSharp.Algo.Candles;
    using StockSharp.Quik;
    using StockSharp.Xaml.Charting;
    using StockSharp.Algo.Indicators;
 
    partial class ChartWindow
    {
        private readonly QuikTrader _trader;
        private readonly CandleSeries _candleSeries;
        private readonly ChartCandleElement _candleElem;
        private  Form1 _form1;
 
        public ChartWindow(CandleSeries candleSeries, DateTime from, DateTime to, Form1 form1) //изменение здесь
        {
            _form1 = form1;
            InitializeComponent();
 
            if (candleSeries == null)
                throw new ArgumentNullException(nameof(candleSeries));
 
            _candleSeries = candleSeries;
            _trader = MainWindow.Instance.Trader;
 
            Chart.ChartTheme = ChartThemes.ExpressionDark;
 
            var area = new ChartArea();
            Chart.Areas.Add(area);
            
            _candleElem = new ChartCandleElement
            {
                AntiAliasing = false, 
                UpFillColor = Colors.LightGreen,
                UpBorderColor = Colors.White,
                DownFillColor = Colors.LightPink,
                DownBorderColor = Colors.White,
            //    ShowHorizontalVolumes = true,
            //    IsLegend = true,
           //     LocalHorizontalVolumes = true,
            };
 
            area.Elements.Add(_candleElem);
 
            _trader.CandleSeriesProcessing += ProcessNewCandle;
            _trader.SubscribeCandles(_candleSeries, from, to);
 
            Title = candleSeries.ToString();
        }
        private void ProcessNewCandle(CandleSeries series, Candle candle)
        {
            if (series != _candleSeries)
                return;
 
            Chart.Draw(_candleElem, candle);
            //     Chart.ShowOverview = true;
            var longSma = new StockSharp.Algo.Indicators.SimpleMovingAverage { Length = 10 };
            
            form1.SetCandleClosePrice(candle.ClosePrice);//изменение здесь
        }
 
        protected override void OnClosing(CancelEventArgs e)
        {
            _trader.UnSubscribeCandles(_candleSeries);
            _trader.CandleSeriesProcessing -= ProcessNewCandle;
 
            base.OnClosing(e);
        }
    }
то есть вы передаете в конструктор этой формы экземпляр своей Form1 и в методе ProcessNewCandle будет вызываться метод вашей формы(я его назвал SetCandleClosePrice), который будет получать значение candle.ClosePrice.
Но я по-прежнему не могу понять, зачем вы в готовом проекте хотите создать еще какую то форму.
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 37
23.02.2018, 20:39  [ТС]
Там строится график на основе WPF. Готовый, который имеет определенный шаблон! Мне этот шаблон не особа нужен.
А вот движок интересен. По этому хочу из этого софта вырвать только то что нужно мне. Только изучаю ООП да и в целом c#.
Эта библиотека закрыта по сути, по этому! А готовые решения GUI не подходят.
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
23.02.2018, 20:42
Вы слишком рано взялись за такую задачу. И вообще, мне кажется, подходите к изучению не с того бока. Сразу наскоком пытаетесь все проглотить.
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 37
23.02.2018, 21:31  [ТС]
ChartWindow в строке ругается
public ChartWindow(CandleSeries candleSeries, DateTime from, DateTime to, Form1 form1) //изменение здесь

К сожалению это полный привет! это блядь трешь!!!!
4 дня гребаный candle не могу обрисовать в from1/
События делигаты не работают... Вообще не понятно какого художника с этим кодом!

Добавлено через 6 минут
о Делигатах
В результате, если мы создаем консольное приложение, мы можем через делегат выводить сообщение на консоль. Если мы создаем графическое приложение Windows Forms или WPF, то можно выводить сообщение в виде графического окна. А можно не просто выводить сообщение. А, например, записать при списании информацию об этом действии в файл или отправить уведомление на электронную почту. В общем любыми способами обработать вызов делегата. И способ обработки не будет зависеть от класса Account.
В результате ХЕР
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.02.2018, 21:31
Помогаю со студенческими работами здесь

Нажатие на ветвь через Treeview и вывод в dataGridView
Добрый день. Есть форма подключенная к базе данных (Access). Слева на форме Treeview , справа dataGridView. На Treeview имеются корни и их...

Вывод рандомного числа через метод
Все сделал вроде логично, но вернуть рандомное число не могу В return rnd возникает ошибка Не удается неявно преобразовать тип...

Ввод массивов через множество textBox, подсчёт суммы, и вывод через listBox. Ошибка при вводе через textBox
Создал я кучу текст боксов, там происходит ввод каждого элемента массива. И вывод через листбокс По идее должен...

Правильно вызвать метод у только что созданной через reflect структуры
Приветствую. Создаю объект так: obj := reflect.New(typ); class := obj.Elem(); method := class...

Метод Include не работает через репозиторий
День добрый всем. Значит такая проблема нарисавалась. Есть модель public class Company : IEntity { public int Id...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru