using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace McBitFont { public partial class CodeShift : Form { private int maxLeft, maxRight, maxSC, count; public int sc; public CodeShift(MainForm parent) { InitializeComponent(); count = parent.frames.Count; sc = parent.frames.First().code; maxLeft = sc; maxRight = 255 - sc - count + 1; maxSC = sc + maxRight; } private void CodeShift_Load(object sender, EventArgs e) { byte enabled = 7; string msg = ""; if (maxLeft < 1) { rbShiftLeft.Enabled = false; enabled -= 1; msg += "Cannot shift left: Start code is " + sc.ToString() + "."; } if (maxRight < 1) { rbShiftRight.Enabled = false; enabled -= 2; msg += "\nCannot shift right: Last code is " + (sc + count - 1).ToString() + "."; } if (maxSC <= 0) { rbSpecify.Enabled = false; enabled -= 4; msg += "\nCannot shift: The font is full." + (sc + count - 1).ToString(); } lblMessage.Text = msg; if ((enabled & 1) > 0) rbShiftLeft.Checked = true; else if ((enabled & 2) > 0) rbShiftRight.Checked = true; else if ((enabled & 4) > 0) rbSpecify.Checked = true; else { btnOK.Enabled = false; nudValue.Enabled = false; } //ModeChanged(rbShiftLeft, null); //nudValue.Minimum = 1; //nudValue.Maximum = maxLeft; } private void ModeChanged(object sender, EventArgs e) { if (rbSpecify.Checked) { lblValue.Text = "New start code:"; nudValue.Minimum = 0; nudValue.Maximum = maxSC; nudValue.Value = 0; lblRange.Text = "min: 0\nmax: " + maxSC.ToString(); } else { lblValue.Text = "Shift by:"; nudValue.Minimum = 1; nudValue.Value = 1; if (rbShiftLeft.Checked) { nudValue.Maximum = maxLeft; lblRange.Text = "min: 1\nmax: " + maxLeft.ToString(); } if (rbShiftRight.Checked) { nudValue.Maximum = maxRight; lblRange.Text = "min: 1\nmax: " + maxRight.ToString(); } } } private void nudValue_ValueChanged(object sender, EventArgs e) { if (rbSpecify.Checked) { if (nudValue.Value == sc) btnOK.Enabled = false; else btnOK.Enabled = true; } } private void btnOK_Click(object sender, EventArgs e) { DialogResult = DialogResult.OK; } private void btnCancel_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; } } }