private void button_GenerateFrame_Click(object sender, EventArgs e) { // create a new form var layerCount = (ushort)textBoxNum_layers.ValueNumber; var spanCount = (ushort)textBoxNum_spans.ValueNumber; // 构造窗口 FrameConstructorForm fc = null; if ((layerCount > 0) && (spanCount > 0)) { if (layerCount == _frameStructure.LayerHeights.Length && spanCount == _frameStructure.SpanWidths.Length) { fc = FrameConstructorForm.GetUniqueInstance(_frameStructure.LayerHeights, _frameStructure.SpanWidths); } else { fc = FrameConstructorForm.GetUniqueInstance(layerCount, spanCount); } } else { MessageBox.Show(@"框架的层数与跨数都必须大于0", @"提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (fc != null) { var res = fc.ShowDialog(); if (res == DialogResult.OK) { Material mat = _definitions.Materials.FirstOrDefault(); Profile prof = _definitions.Profiles.FirstOrDefault(); _frameStructure = Frame.Create(fc.LayerHeights, fc.SpanWidths, defaultMat: mat, defaultProfile: prof); // RefreshUI_FrameTable(_frameStructure); eZDataGridViewFrame.Refresh(); // FramePointorChanged?.Invoke(_frameStructure); } } }
/// <summary> /// 将模型中的框架结构或者材料、截面定义信息刷新到控件中 /// </summary> /// <param name="frame"></param> public void ImportFrameOrDefinitions(Frame frame, DefinitionCollection definitions) { if (definitions != null) { _definitions = definitions; } if (frame != null) { _frameStructure = frame; FramePointorChanged?.Invoke(_frameStructure); // 层高与跨度 textBoxNum_layers.Text = frame.LayerHeights.Length.ToString(); textBoxNum_spans.Text = frame.SpanWidths.Length.ToString(); // RefreshUI_FrameTable(frame); } }