private void btnReadMap_Click(object sender, EventArgs e) { MapParser parser = new MapParser(); string sizeValue = parser.GetMapSize(tbFilename.Text.Trim()); tbCurrentSize.Text = ""; if (!String.IsNullOrEmpty(sizeValue)) { if (sizeValue.Contains("|")) { int width = -1; int height = -1; int wNew = -1; int hNew = -1; string[] parts = sizeValue.Split('|'); if (parts.Length >= 2 && parts[0] != null && parts[1] != null) { int.TryParse(parts[0], out width); int.TryParse(parts[1], out height); } sizeValue = "Filename: " + Path.GetFileName(tbFilename.Text) + "\r\n"; sizeValue += "Current size: " + width + "x" + height + "\r\n"; wNew = width + (int)numLeft.Value + (int)numRight.Value; hNew = height + (int)numTop.Value + (int)numBottom.Value; sizeValue += "Expected new size: " + wNew + "x" + hNew + "\r\n"; if (wNew > 511 || hNew > 511) { sizeValue += "Max size limit of W or H is 511\r\n"; } else if (wNew + hNew > 512) { sizeValue += "Max size game limit W+H=512\r\n"; } if (wNew < 0 || hNew < 0) { sizeValue += "Map size in negative\r\n"; } else if ((wNew * 2 - 1) * hNew < 780) { sizeValue += "Map size too small\r\n"; } } tbCurrentSize.Text += sizeValue; } }