public CandleChartControl() { InitializeComponent(); if (DesignMode) { return; } chart.Owner = this; chart.StockPane.Name = Localizer.GetString("TitleCourse"); // серии (граф. объекты) InitializeSeries(); // визуальные инструменты zoomTool = new ZoomTool { Name = "Zoom", Enabled = true, ForeColor = Color.Blue, BackColor = Color.FromArgb(50, Color.Green) }; chart.InteractivityTools.Add(zoomTool); var scrollTool = new ScrollTool { Name = "Scroll", Enabled = true }; chart.InteractivityTools.Add(scrollTool); var infoTool = new InfoTool("info") { Enabled = true }; chart.InteractivityTools.Add(infoTool); crossTool = new CrossTool("cross") { Enabled = true }; chart.InteractivityTools.Add(crossTool); // привязать обработчики chart.MouseUp += ChartMouseUp; // визуальные chart.StockSeries.BarOffset = 5; chart.StockSeries.ShowLastQuote = true; // иконки состояния chart.StockPane.AddPaneStrip("Candlechart.images.pane_strip.png", 1, 0); chart.OnScaleChanged += Window_OnScaleChanged; // Для прорисовки корабликов this.OnPositionsReceived += chart.DrawOrderPriceMarks; // меню SetupMenuImages(); }
public void Initialize(MapEditorViewVM vm) { _vm = vm ?? throw new ArgumentNullException(nameof(MapEditorViewVM)); _vm.RefreshAction = this.Invalidate; _scrollTool = new ScrollTool(_vm, this); _scrollTool.Activate(); _zoomTool = new ZoomTool(_vm, this); _zoomTool.Activate(); MouseHover += (s, a) => _vm.Cursor.Hover(); MouseLeave += (s, a) => vm.Cursor.Leave(); MouseMove += (s, a) => vm.Cursor.Move(ToCursorButtons(a.Button), a.Location); MouseUp += (s, a) => vm.Cursor.Up(ToCursorButtons(a.Button), a.Location); MouseDown += (s, a) => vm.Cursor.Down(ToCursorButtons(a.Button), a.Location); Resize += (s, a) => _vm.Resize(this.ClientSize.Width, this.ClientSize.Height); }