duheng
2024-10-14 05d57af48f51d2ac8292bc3faaa01ca753763790
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
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
namespace HStation.WinFrmUI
{
    public partial class PumpFullInfoCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        #region 构造函数和加载函数
 
        public PumpFullInfoCtrl()
        {
            InitializeComponent();
            System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false;
            this.navBarControlPara.GroupExpanded += new DevExpress.XtraNavBar.NavBarGroupEventHandler(this.NavBarControlPara_GroupExpanded);
            this.navBarControlPara.GroupCollapsed += new DevExpress.XtraNavBar.NavBarGroupEventHandler(this.NavBarControlPara_GroupCollapsed);
            this.navBarControlPara.ClientSizeChanged += new System.EventHandler(this.NavBarControlPara_ClientSizeChanged);
        }
 
        public void SetBindingData(PumpMatchingViewModel pumpMatchingViewModel)
        {
            pumpPropViewCtrl1.SetBindingData(pumpMatchingViewModel.DbId);
        }
 
        private void OnFrmLoad(object sender, EventArgs e)
        {
            //
            InitialPropPanelWidth();
 
            this.splitContainerControl1.SplitterPositionChanged += new System.EventHandler(this.splitContainerControl1_SplitterPositionChanged);
 
            //
            SetCtrlStyle();
 
            //detailInfoTreeTab2Ctrl1.Initial();
 
            this.xtraTabCtrlMain.SelectedTabPageIndex = 0;
            this.xtraTabCtrlMain.SelectedTabPage = this._tabPage性能曲线图1;
 
            CalcBarHeight();
 
            //if (this._m3dDispCtrlType == Model.e3dDispCtrlType.BIM_EvTreeJs)
            //{
            //    if (this._bimWebBrowerContainter != null)
            //    {
            //        //this.xtraTabCtrlMain.SelectedTabPage = this._tabPage三维模型;
            //        this._bimWebBrowerContainter.Dock = DockStyle.Fill;
            //        this._bimWebBrowerContainter.IsActiveBrower();
            //        this._tabPage三维模型.Controls.Add(_bimWebBrowerContainter);
            //    }
            //}
            //else if (this._m3dDispCtrlType == Model.e3dDispCtrlType.CAD_3DShowShow)
            //{
            //}
            //else if (this._m3dDispCtrlType == Model.e3dDispCtrlType.CAD_51JM)
            //{
            //}
        }
 
        #region 走马灯提示
 
        private bool _isShowRollTipText = false;
        private Thread tRollTipText = null;
        private DevExpress.XtraEditors.LabelControl labelControlTip;
 
        /// <summary>
        /// 开始走马灯提示
        /// </summary>
        protected void StartRollTipText(string info)
        {
            if (string.IsNullOrEmpty(info))
                return;
 
            if (this.labelControlTip == null)
            {
                this.labelControlTip = new DevExpress.XtraEditors.LabelControl();
 
                this.labelControlTip.Appearance.BackColor = System.Drawing.Color.White;
                this.labelControlTip.Appearance.ForeColor = System.Drawing.Color.Red;
                this.labelControlTip.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None;
                this.labelControlTip.Dock = System.Windows.Forms.DockStyle.Top;
                this.labelControlTip.Location = new System.Drawing.Point(0, 0);
                this.labelControlTip.Name = "labelControlTip";
                this.labelControlTip.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0);
                this.labelControlTip.Size = new System.Drawing.Size(1069, 26);
                this.labelControlTip.TabIndex = 12;
                this.labelControlTip.Text = "labelControlTip";
                this.Controls.Add(this.labelControlTip);
            }
            else
            {
                labelControlTip.Visible = true;
            }
            this.labelControlTip.Text = string.Format("    {0}            {0}     ", info);
            if (tRollTipText != null)
            {
                // tRollTipText.Abort();
            }
            _isShowRollTipText = true;
            labelControlTip.Visible = true;
            tRollTipText = new Thread(new ThreadStart(ShowRollTipText));
            tRollTipText.Start();
        }
 
        /// <summary>
        /// 开始走马灯提示
        /// </summary>
        protected void HideRollTipText()
        {
            if (_isShowRollTipText == false)
                return;
            labelControlTip.Visible = false;
            _isShowRollTipText = false;
            if (tRollTipText != null)
            {
                // tRollTipText.Abort();
                tRollTipText = null;
            }
        }
 
        private void ShowRollTipText()
        {
            if (labelControlTip == null)
                return;
 
            Action fun = () =>
            {
                labelControlTip.Text = labelControlTip.Text.Substring(labelControlTip.Text.Length - 1) + labelControlTip.Text.Substring(0, labelControlTip.Text.Length - 1);
            };
            while (true)
            {
                if (labelControlTip.InvokeRequired)
                {
                    labelControlTip.Invoke(fun);
                }
                Thread.Sleep(300);
            }
        }
 
        #endregion 走马灯提示
 
        public void CloseFrm()
        {
            if (tRollTipText != null)
            {
                // tRollTipText.Abort();
                tRollTipText = null;
            }
        }
 
        private void SetCtrlStyle()
        {
            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.ForeColor = CorpSkinStyleHelper.SkinMainColor;
            //this.xtraTabCtrlMain.AppearancePage.Header.ForeColor = Color.Gray;
            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseForeColor = true;
            //this.xtraTabCtrlMain.AppearancePage.Header.Options.UseForeColor = true;
            //if (SPump.WinFrmUI.Localization.IsCN)
            //{
            //    this.xtraTabCtrlMain.AppearancePage.Header.Font = new System.Drawing.Font("楷体", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            //    this.xtraTabCtrlMain.AppearancePage.Header.Options.UseFont = true;
            //    this.xtraTabCtrlMain.AppearancePage.HeaderActive.Font = new System.Drawing.Font("黑体", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            //    //System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
            //    this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseFont = true;
            //}
 
            //this.xtraTabCtrlMain.AppearancePage.Header.Font = new System.Drawing.Font("Tahoma", 12F);
            //this.xtraTabCtrlMain.AppearancePage.Header.ForeColor = System.Drawing.Color.Gray;
            //this.xtraTabCtrlMain.AppearancePage.Header.Options.UseFont = true;
            //this.xtraTabCtrlMain.AppearancePage.Header.Options.UseForeColor = true;
            //this.xtraTabCtrlMain.AppearancePage.Header.Options.UseTextOptions = true;
            //this.xtraTabCtrlMain.AppearancePage.Header.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.ForeColor = System.Drawing.Color.Navy;
            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseFont = true;
            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseForeColor = true;
            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseTextOptions = true;
            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
        }
 
        #endregion 构造函数和加载函数
 
        private void tabPage默认安装图2d_VisibleChanged(object sender, EventArgs e)
        {
        }
 
        private void tabPage系统安装图2d_VisibleChanged(object sender, EventArgs e)
        {
        }
 
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void xtraTabControlRight_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
        {
            if (e.Page == this._tabPage多速度曲线参数)
            {
                xtraTabCtrlMain.SelectedTabPage = this._tabPage多速度曲线;
            }
        }
 
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void xtraTabCtrlMain_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
        {
            this._tabPage串并联曲线参数.PageVisible = false;
 
            //
            if (e.Page == this._tabPage三维模型)
            {
            }
            if (e.Page == this._tabPage默认安装图3d)
            {
                //if (this.tabPageAssem3D.Tag == null)
                //{
                //    ShowProductDrawing3d();
                //    this.tabPageAssem3D.Tag = "IsLoad";
                //}
            }
            if (e.Page == this._tabPage多速度曲线)
            {
                this.xtraTabControlRight.SelectedTabPage = this._tabPage多速度曲线参数;
            }
            if (e.Page == this._tabPage串并联曲线)
            {
                this._tabPage串并联曲线参数.PageVisible = true;
                this.xtraTabControlRight.SelectedTabPage = this._tabPage串并联曲线参数;
            }
            if (e.Page == this._tabPage性能曲线图1)
            {
                this.xtraTabControlRight.SelectedTabPage = this.tabPage基本参数;
            }
        }
 
        #region 计算展示面板高度
 
        private void NavBarControlPara_GroupExpanded(object sender, DevExpress.XtraNavBar.NavBarGroupEventArgs e)
        {
            CalcBarHeight();
        }
 
        private void NavBarControlPara_GroupCollapsed(object sender, DevExpress.XtraNavBar.NavBarGroupEventArgs e)
        {
            CalcBarHeight();
        }
 
        private void NavBarControlPara_ClientSizeChanged(object sender, EventArgs e)
        {
            CalcBarHeight();
        }
 
        private int CalcGroupParaHeight()
        {
            //if (this._selectMainParasCtrl == null)
            //{
            //    return 4 * 35 + 20;
            //}
            var row_count = 4;// this._selectMainParasCtrl.GetDispRowCount();
            if (row_count <= 4)//切割型
                return row_count * 35 + 20;
            else
                return row_count * 35 + 20;
        }
 
        private void CalcBarHeight()
        {
            if (!navBarGroupPoint.Expanded)
                return;
 
            int GroupTitleHeight = 55;//头部高度
 
            var height = this.Size.Height - 18;//18 : TAB 头部高度
 
            if (navBarGroupPara.Expanded)
            {
                var grp_height = CalcGroupParaHeight();
                //if (row_count == 7)
                //{
                //    grp_height = 280;
                //}
                this.navBarGroupControlXPumpParas.Height = grp_height;
                this.navBarGroupPara.Expanded = true;
                this.navBarGroupPara.GroupClientHeight = grp_height;
                height = height - GroupTitleHeight - grp_height - 3;
            }
            else
            {
                height = height - GroupTitleHeight;
            }
 
            if (navBarGroupJieZhi.Expanded)
            {
                height = height - 150;
            }
            else
            {
                height = height - GroupTitleHeight;
            }
 
            if (height > 100)
            {//294, 393
                height = height - GroupTitleHeight;
                navBarGroupPoint.GroupClientHeight = height;
            }
        }
 
        #endregion 计算展示面板高度
 
        #region 右侧面板宽度
 
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void splitContainerControl1_SplitterPositionChanged(object sender, EventArgs e)
        {
        }
 
        /// <summary>
        ///
        /// </summary>
        private void InitialPropPanelWidth()
        {
            ////宽度
            //if (SPump.WinFrmUI.XPump.Properties.Settings.Default.EbookPropPanelWidth > 0)
            //{
            //    splitContainerControl1.SplitterPosition = SPump.WinFrmUI.XPump.Properties.Settings.Default.EbookPropPanelWidth;
            //    return;
            //}
 
            //////设置面板宽度//当前是1150 -> 430
            //int iActulaWidth = this.Width;
            //if (SPump.WinFrmUI.GlobeParas.MainForm != null)
            //{
            //    iActulaWidth = SPump.WinFrmUI.GlobeParas.MainForm.Width;
            //}
 
            //splitContainerControl1.SplitterPosition = (int)(iActulaWidth * 0.35);
        }
 
        #endregion 右侧面板宽度
    }
}