Config.TreeColor.NodeColor getNodeColor() { Config.TreeColor.NodeColor node = null; switch (comboBoxNode.SelectedIndex) { case 0: // rim node = config.Color.Rim; break; case 1: // dlg node = config.Color.Dlg; break; case 2: // conv node = config.Color.Conv; break; case 3: // empty node = config.Color.Empty; break; default: break; } return(node); }
void checkBoxEven_CheckedChanged(object sender, EventArgs e) { // enable あたいの更新 // refresh時が無駄気味だが Config.TreeColor.NodeColor node = getNodeColor(); if (node != null) { node.Even.UseCustom = checkBoxEven.Checked; } }
private void buttonNode_Click(object sender, EventArgs e) { // 何個もイベント作りたくないのでtagあたりに埋め込む Button button = sender as Button; if (button != null) { Config.TreeColor.NodeColor node = getNodeColor(); if (node != null) { Config.TreeColor.Color color = node.Odd; if (button.Name.ToString().Contains("Even")) { color = node.Even; } bool isFore = false; if (button.Name.ToString().Contains("Fore")) { isFore = true; } ColorDialog cd = new ColorDialog(); cd.FullOpen = true; System.Drawing.ColorConverter conv = new ColorConverter(); if (isFore) { cd.Color = (System.Drawing.Color)conv.ConvertFromString(color.ForeColor); } else { cd.Color = (System.Drawing.Color)conv.ConvertFromString(color.BackColor); } DialogResult result = cd.ShowDialog(this); if (result == DialogResult.OK) { if (isFore) { color.ForeColor = conv.ConvertToString(cd.Color); } else { color.BackColor = conv.ConvertToString(cd.Color); } refresh(); } } } }
void refresh() { //this.SuspendLayout(); System.Drawing.ColorConverter conv = new ColorConverter(); labelBase.ForeColor = (System.Drawing.Color)conv.ConvertFromString(config.Color.Base.ForeColor); labelBase.BackColor = (System.Drawing.Color)conv.ConvertFromString(config.Color.Base.BackColor); checkBoxBase.Checked = config.Color.Base.UseCustom; Config.TreeColor.NodeColor node = getNodeColor(); if (node != null) { labelOdd.ForeColor = (System.Drawing.Color)conv.ConvertFromString(node.Odd.ForeColor); labelOdd.BackColor = (System.Drawing.Color)conv.ConvertFromString(node.Odd.BackColor); labelEven.ForeColor = (System.Drawing.Color)conv.ConvertFromString(node.Even.ForeColor); labelEven.BackColor = (System.Drawing.Color)conv.ConvertFromString(node.Even.BackColor); checkBoxOdd.Checked = node.Odd.UseCustom; checkBoxEven.Checked = node.Even.UseCustom; } //this.ResumeLayout(); //this.PerformLayout(); }