コード例 #1
0
        private void Tab_Selected(object sender, TabPage tab)
        {
            FieldInfo[] fields = GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
            foreach (FieldInfo field in fields)
            {
                var obj = field.GetValue(this);

                // release memory for the current tab
                if (obj is DataViewer view)
                {
                    view.GridView.Rows.Clear();
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                }
            }

            switch (TabControlMain.SelectedTab.Controls[0])
            {
            case DataViewer view: {
                // no child control
                GridIOUtility.ImportGrid($"{TabControlMain.SelectedTab.Text}/{tab.Text}.bin", view.GridView,
                                         AddGridRow);
                break;
            }

            case TabControl childTab: {
                DataViewer view = (DataViewer)childTab.SelectedTab.Controls[0];
                GridIOUtility.ImportGrid($"{TabControlMain.SelectedTab.Text}/{tab.Text}.bin", view.GridView,
                                         AddGridRow);
                break;
            }
            }
        }
コード例 #2
0
 private void MainForm_Load(object sender, EventArgs e)
 {
     GridIOUtility.ImportGrid("equips/Hairs.bin", EquipHairsView.GridView, AddGridRow);
 }