private void txtArrayQty_Leave(object sender, EventArgs e) { if (lstItems.SelectedIndex == -1 || LoadedProject == null || LoadedProject.Properties == null) { return; } ProjectFile.Var v = LoadedProject.Properties[lstItems.SelectedIndex]; string[] oldNames = v.Values.Names; try { v.RawQuantity = update(v.RawQuantity, txtArrayQty.Text); if (v.HasDynamicQuantity) { v.Values.Names = null; txtArrayNames.Text = ""; } else if (oldNames != null) { v.Values.Names = new string[v.Quantity]; for (int i = 0; i < v.Values.Names.Length; i++) { try { v.Values.Names[i] = oldNames[i]; } catch { v.Values.Names[i] = i.ToString(); System.Diagnostics.Debug.WriteLine("Names truncated: " + v.ToString() + "[" + i + "]"); } } } } catch (Exception x) { MessageBox.Show(x.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); txtArrayQty.Text = v.RawQuantity; v.Values.Names = oldNames; } txtArrayNames.Enabled = !v.HasDynamicQuantity; txtArrayNames.Text = (v.Values.Names != null ? string.Join(",", v.Values.Names) : ""); lstItems.Items[lstItems.SelectedIndex] = formatItem(v); }
private void txtArrayNames_Leave(object sender, EventArgs e) { if (lstItems.SelectedIndex == -1 || LoadedProject == null || LoadedProject.Properties == null) { return; } ProjectFile.Var v = LoadedProject.Properties[lstItems.SelectedIndex]; string[] oldNames = v.Values.Names; try { string[] names = txtArrayNames.Text.Split(','); for (int i = 0; i < v.Quantity; i++) { try { v.Values.Names[i] = update(v.Values.Names[i], names[i]); } catch { v.Values.Names[i] = update(v.Values.Names[i], i.ToString()); System.Diagnostics.Debug.WriteLine("Names assignment count mismatch: " + v.ToString() + "[" + i + "]"); } } } catch (Exception x) { MessageBox.Show(x.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); v.Values.Names = oldNames; } txtArrayNames.Text = (v.Values.Names != null ? string.Join(",", v.Values.Names) : ""); }