private static string GetMeterString(int value, int minval, int maxval, int meterLen) { int indicatorPos; if (value == minval) { indicatorPos = 0; } else if (value == maxval) { indicatorPos = meterLen - 1; } else { indicatorPos = SCommon.ToRange( SCommon.ToInt(DDUtils.RateAToB(minval, maxval, value) * (meterLen - 1)), 1, meterLen - 2 ); } StringBuilder buff = new StringBuilder(); buff.Append("["); for (int index = 0; index < meterLen; index++) { buff.Append(index == indicatorPos ? "■" : "-"); } buff.Append("] "); buff.Append(value); return(buff.ToString()); }